微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – 如何在数据库中存储TimeZoneInfo对象?

我知道有点误导的头衔从来没有真正想要存储TimeZoneInfo对象本身:相反,我想存储一些文化中立的标识符,然后可以稍后用它来重建TimeZoneInfo的一个实例.

目前,我正在存储TimeZoneInfo.Id属性的值,并且在WindowsWindows的英文版和俄文版本上似乎都可以,但我只想确保我做正确的事情.

解决方法

是的,Id是一个非本地化的标识符,因此这是一个适当的存储.

您应该知道一个可能的问题:标识符可以随着时间的推移而改变.我不知道Windows时区标识符是否存在问题,但它肯定会发生在Olson(zoneinfo)数据库中.例如,我最近正在看“太平洋/蓬皮”变成“太平洋/波恩佩”的问题.

我怀疑,由于微软对ID的控制更加严格,他们更有可能保持不变 – 即使如此,国家也可以更改名称,分为不同的国家(可能创造新的时区)等.

我不是在为这个问题提出任何修正 – 只是把它强调为一个潜在的问题.存储ID可能是可用的最佳方法,但请注意潜在的风险…

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐