当前位置:  开发笔记 > 后端 > 正文

如何使用纯函数可靠地将POSIX epoch秒转换为EST/EDT时间

如何解决《如何使用纯函数可靠地将POSIXepoch秒转换为EST/EDT时间》经验,为你挑选了0个好方法。

我正在使用time-1.5.0.1图书馆.

我给出了代表纪元秒的值,例如1449590820等于2015-12-08 11:07:00 -0500.

使用Data.Time模块,我希望能够转换1449590820ZonedTime.

我想要使​​用的功能是这样的:

utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime

问题在于获得TimeZone我需要的价值.可用的函数Data.Time取决于TimeZone从环境中获取或要求您显式构造TimeZonefor EDTEST.

我想避免依赖环境给我一个ZonedTime,因为无法保证代码将在设置为美国东部时间的服务器上运行.所以使用这个功能是不可能的:

utcToLocalZonedTime :: UTCTime -> IO ZonedTime

这样我就可以选择TimeZone自己构建必要的输入.

但是,TimeZone对于EDT不一样TimeZoneEST,所以我需要一个不同TimeZone取决于夏令是否有效.有一个简单的方法来产生TimeZoneEDTEST取决于a的值UTCTime(即它是否属于夏令时的时间内)?

我想强调一点,我只想使用纯函数来做这件事.

也许我正在寻找一个Haskell模拟Ruby中的tzinfo库.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有