
Thanks, but that doesn't seem to work. I got an answer of -3. I tried it
again a minute later and it was still -3. I tried again a minute later and
it was -1. It's just after 9am here, so I have no idea what to make of those
numbers.
I have settled on this code:
secondsSinceMidnight :: IO Int
secondsSinceMidnight = do
zonedTime <- getZonedTime
return $ floor $ toRational $ timeOfDayToTime $ localTimeOfDay $
zonedTimeToLocalTime zonedTime
On Thu, Nov 13, 2008 at 2:29 AM, Jon Fairbairn
"Lyle Kopnicky"
writes: I had some code using the oldtime package, and want to convert it to use the time package. One of the things I need to do is calculate the number of seconds since midnight. The easy part is getting a TimeDiff result:
You mean DiffTime?
utc <- getCurrentTime tz <- getCurrentTimeZone let td = timeOfDayToTime $ localTimeOfDay $ utcToLocalTime tz utc Now td is a TimeDiff representation of the number of seconds since midnight. It prints nicely, but I'm having a heck of a time figuring out how to truncate it to an Int.
You could do something like fromEnum td `div` fromEnum (secondsToDiffTime 1) which says that you are computing a whole number of seconds.
-- Jón Fairbairn Jon.Fairbairn@cl.cam.ac.uk http://www.chaos.org.uk/~jf/Stuff-I-dont-want.html (updated 2008-04-26)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe