我在我的代码中使用 TimeZoneInfo.FindSystemTimeZoneById()
。
而且我知道此方法适用于系统注册表中的 ID。
所以我想知道当它进入服务器时是否有可能无法正常工作,因为服务器注册表中的 ID 与我本地的不同。
有人知道吗?
最佳答案
虽然可能找不到 ID(请参阅其他答案),但如果两台机器都有当前的 Windows 更新,那么您不太可能会有不匹配。
即便如此,虽然每年都会多次更改夏令时和显示名称的定义,但很少会创建全新的时区,而且 ID 一旦建立就永远不会更改。
因此,只要您的服务器至少有针对时区的当前 Windows 更新,那么您应该能够处理来自客户端的任何有效输入,即使它们不是最新的日期。您可以在 this site 上查看 Windows 的所有时区更新。 .
然而,尽管如此,我最好的建议是放弃使用 Microsoft 时区并改用标准 IANA 时区。参见 the timezone tag wiki了解详情。在 .NET 中,实现此目的的最佳方法是使用 Noda Time图书馆。
关于c# - TimeZoneInfo Id 取决于机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630087/