Haskell:
Obtenir la date actuelle

Comment faire :

La bibliothèque standard de Haskell, base, fournit le module Data.Time qui offre des fonctionnalités pour travailler avec les dates et les heures. Voici comment l’utiliser pour obtenir la date actuelle :

import Data.Time (getCurrentTime, utctDay)

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

Exemple de sortie :

2023-04-12

Pour plus de flexibilité, comme pour formater la date ou travailler avec différents fuseaux horaires, la bibliothèque time est inestimable. Voici comment vous pourriez formater la date actuelle :

import Data.Time

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

Cela affiche la date actuelle au format AAAA-MM-JJ, ajusté au fuseau horaire local.

De plus, pour le support de bibliothèques tierces, time est fortement recommandé et souvent utilisé au sein de la communauté Haskell pour ses capacités étendues de manipulation des dates et des heures. Les exemples ci-dessus utilisent cette bibliothèque.

Si vous avez besoin de manipulations de dates plus complètes, y compris le parsing à partir de chaînes ou des opérations arithmétiques avec des dates et des heures, explorer les fonctions supplémentaires dans Data.Time sera bénéfique.