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

前端之家收集整理的这篇文章主要介绍了.net – 如何在数据库中存储TimeZoneInfo对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道有点误导的头衔从来没有真正想要存储TimeZoneInfo对象本身:相反,我想存储一些文化中立的标识符,然后可以稍后用它来重建TimeZoneInfo的一个实例.

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

解决方法

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

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

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

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

猜你在找的MsSQL相关文章