将当前时间转换为Int(Haskell)

时间:2013-03-24 16:40:31

标签: haskell time io

我一直在寻找年龄来尝试找到一种简单的方法来获取当前时间(可能是从午夜开始的秒数,或者小时,分钟,秒)到int。 有人能指出我正确的方向吗?我看过图书馆并没有成功。

2 个答案:

答案 0 :(得分:6)

为了获得Int非常简单的午夜时间:

import Data.Time.Clock
main = do
  currTime <- getCurrentTime
  let timed = floor $ utctDayTime currTime :: Int
  print timed

对于踢腿和咯咯笑,这里有一个快速的功能

integralTime :: (Integral a) => IO a
integralTime = getCurrentTime >>= return.floor.utctDayTime

这可行,因为TimeDiff(它是RealFrac个实例)可以floor为积分。

答案 1 :(得分:0)

我在搜索“haskell datetime”时第一次点击谷歌与Tim给出的链接相同。在那里你有getCurrentTime :: IO DateTime来获取当前时间,然后diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime来计算差异(被视为秒)。

http://hackage.haskell.org/packages/archive/datetime/0.1/doc/html/Data-DateTime.html http://hackage.haskell.org/packages/archive/time/1.1.4/doc/html/Data-Time-Clock.html#t:UTCTime