Aktuelles Jahr / Monat / Tag in Haskell ermitteln
Problem:
Mit Haskell möchtest du das aktuelle Jahr, den Monat und den Tag (für die UTC-Zeitzone) als ganzzahlige Werte erhalten.
Lösung
Für diese Aufgabe benötigst du das time-Paket. Verwende cabal install time zur Installation.
Unser Code ähnelt diesem HaskellWiki-Eintrag, stellt jedoch ein eigenständiges ausführbares Programm bereit (verwende runghc <dateiname>.hs zur Ausführung), das für Anfänger lesbarer ist.
UTC-Zeit:
Beachte, dass die UTC-Zeit je nach Zeitzone von deiner lokalen Zeit abweichen kann.
get_current_date.hs
import Data.Time.Clock
import Data.Time.Calendar
main = do
now <- getCurrentTime
let (year, month, day) = toGregorian $ utctDay now
putStrLn $ "Year: " ++ show year
putStrLn $ "Month: " ++ show month
putStrLn $ "Day: " ++ show dayLokale Zeit:
Es ist auch möglich, deine aktuelle lokale Zeit unter Verwendung der Standardzeitzone deines Systems zu ermitteln:
get_current_local_date.hs
import Data.Time.Clock
import Data.Time.Calendar
import Data.Time.LocalTime
main = do
now <- getCurrentTime
timezone <- getCurrentTimeZone
let zoneNow = utcToLocalTime timezone now
let (year, month, day) = toGregorian $ localDay zoneNow
putStrLn $ "Year: " ++ show year
putStrLn $ "Month: " ++ show month
putStrLn $ "Day: " ++ show dayDie Sommerzeit wird bei dieser Methode ebenfalls berücksichtigt.
Check out similar posts by category:
Haskell
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow