Haskell:
Ottenere la data corrente
Come fare:
La libreria standard di Haskell, base
, fornisce il modulo Data.Time
che offre funzionalità per lavorare con date e orari. Ecco come usarlo per ottenere la data corrente:
import Data.Time (getCurrentTime, utctDay)
main :: IO ()
main = do
now <- getCurrentTime
let today = utctDay now
print today
Output di esempio:
2023-04-12
Per maggiore flessibilità, come la formattazione della data o il lavoro con diversi fusi orari, la libreria time
è inestimabile. Ecco come potreste formattare la data corrente:
import Data.Time
main :: IO ()
main = do
now <- getCurrentTime
timezone <- getCurrentTimeZone
let zoneNow = utcToLocalTime timezone now
putStrLn $ formatTime defaultTimeLocale "%Y-%m-%d" zoneNow
Questo stampa la data corrente nel formato AAAA-MM-GG
, aggiustato al fuso orario locale.
Inoltre, per il supporto di librerie di terze parti, time
è fortemente raccomandata ed è spesso usata all’interno della comunità Haskell per le sue ampie capacità di manipolazione di date e orari. Gli esempi sopra utilizzano questa libreria.
Se avete bisogno di una manipolazione delle date più comprensiva, inclusa l’analisi da stringhe o operazioni aritmetiche con date e orari, esplorare funzioni aggiuntive all’interno di Data.Time
sarà utile.