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 UTCTime)
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?
Thanks,
Hong