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