如何在Haskell中获得毫秒精度的unix时间戳?

Chr*_*tin 8 haskell timestamp

什么是这个shell命令的Haskell等价物?

$ date "+%s%3N"
1489694389603
Run Code Online (Sandbox Code Playgroud)

Chr*_*tin 15

使用时间包:

  1. 使用getPOSIXTime,返回一个NominalDiffTime.这表示数秒,精度为10 -12秒.

  2. 乘以1000可将秒数转换为毫秒数.

  3. NominalDiffTime实现RealFrac类,因此您可以使用round转换为整数.


import Data.Time.Clock.POSIX (getPOSIXTime)

?> (round . (* 1000)) <$> getPOSIXTime
1489694668011
Run Code Online (Sandbox Code Playgroud)