Aktuelle Stunde / Minute / Sekunde in Haskell ermitteln

Problem:

Mit Haskell möchtest du die aktuelle Stunde / Minute / Sekunde (für die aktuelle Zeitzone) als ganzzahlige Werte erhalten.

Lösung

Für diese Aufgabe benötigst du das time-Paket. Verwende cabal install time zur Installation.

Siehe auch diesen vorherigen Blogbeitrag zum Ermitteln des aktuellen Jahres / Monats / Tages.

time_example.hs
import Data.Time.Clock
import Data.Time.LocalTime

main = do
    now <- getCurrentTime
    timezone <- getCurrentTimeZone
    let (TimeOfDay hour minute second) = localTimeOfDay $ utcToLocalTime timezone now
    putStrLn $ "Hour: " ++ show hour
    putStrLn $ "Minute: " ++ show minute
    -- Hinweis: Second ist vom Typ @Pico@: Es enthält einen Bruchteil.
    -- Verwende @fromIntegral@ um es in einen einfachen Integer zu konvertieren.
    putStrLn $ "Second: " ++ show second

Check out similar posts by category: Haskell