大佬教程收集整理的这篇文章主要介绍了如何在Windows和IANA时区之间转换?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
windows和IANA时区标识符之间进行转换的数据的主要来源是windowsZones.xml
作为Unicode
CLDR项目的一部分分发的文件。
,CLDR每年仅发布两次。这与windows更新的定期节奏以及IANA时区数据库的不定期更新一起,使得直接使用CLDR数据变得很复杂。请记住,时区更改本身是由世界各国政府一时兴起的,并非所有更改都在引起足够注意的情况下进行以使其在各自的生效日期之前进入这些发布周期。
还有一些其他需要处理的极端情况,CLDR并未严格涵盖这些情况,并且不时弹出新的情况。因此,我将解决方案的复杂性封装到TimeZoneConverter微库中,可以从Nuget安装该库。
String tz = TZConvert.IanaTowindows("America/New_York");
// Result: "Eastern Standard Time"
String tz = TZConvert.windowsToIana("Eastern Standard Time");
// result: "America/New_York"
String tz = TZConvert.windowsToIana("Eastern Standard Time", "CA");
// result: "America/Toronto"
项目站点上还有更多示例。
重要的是要认识到,虽然IANA时区可以映射到单个windows时区,但事实并非如此。一个windows时区可能映射到多个IANA时区。在上面的示例中可以看到这一点,其中Eastern
Standard
Time
既映射到,也映射America/New_York
到America/Toronto
。TimeZoneConverter将提供带有CLDR标记的区域"001"
,称为“黄金区”,除非您专门提供了国家(地区)代码,并且该国家/地区的其他区域存在匹配项。
注意:多年来,答案一直在发展,因此以下评论可能适用于当前修订版,也可能不适用于当前修订版。 查看编辑历史记录以了解详细信息。谢谢。
以上是大佬教程为你收集整理的如何在Windows和IANA时区之间转换?全部内容,希望文章能够帮你解决如何在Windows和IANA时区之间转换?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。