Datetime TimeZone.ConvertTimeBySystemTimeZoneId是否需要本地化?

Datetime TimeZone.ConvertTimeBySystemTimeZoneId是否需要本地化?,datetime,localization,timezone,Datetime,Localization,Timezone,给出以下示例: DateTime result = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time"); 既然大西洋标准时间是一个字符串,这个安全吗?如果我在德国操作系统上运行相同的代码,代码会失败吗?如果是这样,我应该如何正确处理这样的时区?时区标识符(如通过TimeZoneInfo对象的Id属性获得的)未本地化。它们与在以下位置找到的注册表项名称匹配: HKEY_LOC

给出以下示例:

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

既然大西洋标准时间是一个字符串,这个安全吗?如果我在德国操作系统上运行相同的代码,代码会失败吗?如果是这样,我应该如何正确处理这样的时区?

时区标识符(如通过
TimeZoneInfo
对象的
Id
属性获得的)未本地化。它们与在以下位置找到的注册表项名称匹配:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
它们都是英文的,不应该翻译。所以是的,它是安全的


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

时区标识符(如通过
TimeZoneInfo
对象的
Id
属性获得的)未本地化。它们与在以下位置找到的注册表项名称匹配:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
它们都是英文的,不应该翻译。所以是的,它是安全的

另一方面,
DisplayName
StandardName
DaylightName
属性是本地化的。它们使用操作系统本身的本地化,忽略您对应用程序中的
CurrentCulture
CurrentUICulture
所做的任何更改