c# - TimeZoneInfo Id 取决于机器?

标签 c# .net timezone

我在我的代码中使用 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/

相关文章:

c# - ClickOnce 文件关联

javascript - Chrome 中指定的时区无效 : US/Alaska, US/Arizona、US/Mountain、US/Central 等错误但在 Mozilla 中工作

c++ - 如何在 Linux 中检测系统时间的变化?

javascript date - 保留时区偏移量

C# IsNull() 和 IsEqualTo() - Visual Studio 在示例 Dapper.net/Contrib 代码中无法识别它们

c# - ClientBase 没有实现 IDisposable 成员

c# - 遍历结构?

.net - 如何在PresentationFramework中调试NullReferenceException?

c# - 为什么我的文件在上传并转换为字节数组后大小不同?

c# - 有没有办法将 app/web.config 分成 2 个文件?