tmo*_*boy 6 haskell type-conversion epoch
我签约的网络请求,并作为查询字符串的一部分,我需要包括
oauth_timestamp=123456789其中123456789是因为1970-01-01 00:00 UTC的标称时间.
我一直在使用POSIXTime表示它,它只是NominalDiffTime的类型别名.
当我想将POSIXTime/NominalDiffTime转换为Text时,我遇到了问题,这样我就可以将它添加到查询字符串项集合中.
问题源于NominalDiffTime的构造函数是私有的,因此我无法提取实际数字.
即使是hacky的使用方式show也会附加"s"生成123456789s.
有没有一种从NominalDiffTime中提取实际数字的简单方法?
这可能有资格作为类型类的一个例子,使API比它们必须更深奥:NominalDiffTimeimplements RealFrac,任意精度分数的类型类.因此,floor您可以使用该功能:
?> import Data.Time.Clock.POSIX
?> pt <- getPOSIXTime
?> pt
1458787669.804632s
?> toRational pt
182348458725579 % 125000
?> floor pt :: Int
1458787669
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
492 次 |
| 最近记录: |