2013-03-24 81 views
2

我一直在尋找年齡段,試圖找到一種簡單的方法將當前時間(可能是從午夜或小時,分鐘,秒開始的秒數)轉換爲int。 任何人都可以指向正確的方向嗎?我看過圖書館,沒有成功。將當前時間轉換爲Int(Haskell)

+0

我不計劃在Haskell,但一直在尋找其他語言的類似信息。如何到秒? http://hackage.haskell.org/packages/archive/datetime/0.1/doc/html/Data-DateTime.html – Tim 2013-03-24 16:43:42

回答

5

爲了獲取時間從午夜開始爲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

也許值得一提的是,它使用'Data.Time.Clock'(儘管這很容易被[Hoogled] (http://www.haskell.org/hoogle/?hoogle=utctDayTime))。 – leftaroundabout 2013-03-24 17:25:08

+0

噢,是的,我將編輯 – jozefg 2013-03-24 17:26:25

+2

另外,'toRational'不是必需的:'floor'在任何'RealFrac'參數上已經是多態的。 – leftaroundabout 2013-03-24 17:27:32