TimeZone.ConvertTimeBySystemTimeZoneId 是否需要本地化



给定以下示例:

DateTime result = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time");

既然Atlantic Standard Time是字符串,这安全吗?又名,如果我在德国操作系统上运行相同的代码,代码会失败吗?如果是这样,我应该如何正确处理这样的时区?

时区

标识符(如由TimeZoneInfo对象的 Id 属性获取)未本地化。 它们与位于以下位置的注册表项名称匹配:

 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTime Zones

它们始终是英文的,不应翻译。 所以是的,它是安全的。

另一方面,DisplayNameStandardNameDaylightName属性本地化的。 它们使用操作系统本身的本地化,忽略您可能对应用程序中的CurrentCultureCurrentUICulture所做的任何更改。

相关内容

  • 没有找到相关文章