[Haskell-beginners] Help with Data.Time
hyangfji at gmail.com
Thu Oct 1 18:13:38 EDT 2009
I want to calculate the length of time between time ta and time tb.
Time ta is a String looking like "N:NNAM" or "N:NNPM."
I need tb to be 9:30AM on the current date.
I think the flow should be
1) parse ta to utcTimeA :: UTCTime
2) get current date and form tb to utcTimeB :: UTCTime
3) call "diffUTCTime utcTimeA utcTimeB"
So my program looks like as follows in a "do" expression:
let utcTimeA = fromJust (parseTime defaultTimeLocale "%R%P" ta :: Maybe
currentTime <- getCurrentTime
let day = utctDay currentTime
let utcTimeB = UTCTime day "09:30:00.0000000 UTC"
let timeElapsed = diffUTCTime utcTimeA utcTimeB
There are two difficulties I could not get around:
1) It seems that parseTime returns "Nothing". Why?
2) I knew "09:30:00.0000000 UTC" in the statement of "let utcTimeB ..." is
incorrect, because it is a String instead of expected DiffTime type. After
consulting Data.Time module (it just say "Data DiffTime"), I still cannot
figure out how to get utcTimeB.
Can someone help me?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners