Haskell:
Få det aktuella datumet

Hur man gör:

Haskells standardbibliotek, base, tillhandahåller Data.Time-modulen som erbjuder funktionalitet för att arbeta med datum och tider. Så här använder du den för att få det aktuella datumet:

import Data.Time (getCurrentTime, utctDay)

main :: IO ()
main = do
    now <- getCurrentTime
    let today = utctDay now
    print today

Exempelutdata:

2023-04-12

För mer flexibilitet, som att formatera datumet eller arbeta med olika tidszoner, är time-biblioteket ovärderligt. Så här kan du formatera det aktuella datumet:

import Data.Time

main :: IO ()
main = do
    now <- getCurrentTime
    timezone <- getCurrentTimeZone
    let zoneNow = utcToLocalTime timezone now
    putStrLn $ formatTime defaultTimeLocale "%Y-%m-%d" zoneNow

Detta skriver ut det aktuella datumet i formatet ÅÅÅÅ-MM-DD, justerat till den lokala tidszonen.

Dessutom, för stöd från tredjepartsbibliotek, rekommenderas time starkt och används ofta inom Haskell-gemenskapen för dess omfattande möjligheter till datum- och tidshantering. Exemplen ovan använder detta bibliotek.

Om du behöver mer omfattande datumhantering, inklusive tolkning från strängar eller aritmetiska operationer med datum och tider, kommer utforskning av ytterligare funktioner inom Data.Time att vara fördelaktigt.