繁体   English   中英

如何从野田时间获取时区夏时制规则以POSIX时区格式

[英]How to get timezone daylight saving rules from Noda Time in POSIX time zone format

正如在NodaTime获取夏令时的开始和结束中所回答的那样,可以解决给定年份的夏令时开始和结束日期。

如何以POSIX时区格式获取计算开始日期和结束日期的实际规则?

项目目前正在使用Noda Time,但可以考虑其他任何.NET解决方案。

POSIX格式似乎只能满足一条规则-实际上,规则会随着时间而变化。 我也不清楚POSIX规则是否允许24:00作为过渡时间,并且所有的过渡都在本地时间指定的期望似乎是不幸的。 (在TZDB中,一些规则用UTC表示,一些用墙时间表示,一些用标准时间表示。从“简单”转换为“一切都是本地”可能会引起一些非常细微的错误。)简而言之-我希望从TZDB到POSIX的转换可能会造成损失。

“实际规则”没有通过Noda Time API公开,因为它们对客户端很少有用(与仅获取计算数据相比)-但您可以查看NodaTime.TzdbCompiler代码以了解TZDB规则被解析,存储在内存中并序列化到磁盘。 序列化格式没有足够的信息来始终恢复原始规则-但是,您当然可以在fork中创建自己的序列化格式。

对于原始(原始)源数据, IANA时区数据库是您的最佳起点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM