haskellで日時を扱う。
現在の日付を得る
Prelude Data.Time> getCurrentTime >>= return.utctDay >>= print 2010-09-09 Prelude Data.Time> getCurrentTime >>= return.toGregorian.utctDay >>= print (2010,9,9)
5秒後の時間を得る
Prelude Data.Time.Clock> getCurrentTime >>= print >> getCurrentTime >>= \t -> return(addUTCTime (5::NominalDiffTime) t) >>= print 2010-09-09 03:05:09.408904 UTC 2010-09-09 03:05:14.409195 UTC
doでかくと
Prelude Data.Time.Clock> do {now<-getCurrentTime; print now; print $ addUTCTime (5::NominalDiffTime) now} 2010-09-09 03:03:50.452735 UTC 2010-09-09 03:03:55.452735 UTC
関数化
Prelude Data.Time.Clock> let secondLater x = getCurrentTime >>= \n -> return(addUTCTime (x::NominalDiffTime) n) in secondLater 5 2010-09-09 03:13:21.380543 UTC