Get current hour / minute / second in Haskell
Problem:
Using haskell, you want to get the current hour / minute / second (for the current timezone) as integral values.
Solution:
You need the time package for this task. Use cabal install time
to install it.
Also see this previous blogpost on how to get the current year / month / date.
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
-- Note: Second is of type @Pico@: It contains a fractional part.
-- Use @fromIntegral@ to convert it to a plain integer.
putStrLn $ "Second: " ++ show second