4

我可以通过以下方式进行比较:

if (TimeZoneInfo.Local.ToString().Contains("Tokyo"))
{
 //do something ...
}

但问题是,如果我使用日本本地操作系统,例如,返回字符串使用日文字符而不是“大阪,札幌,东京”。在我的情况下,我检查了字符串是否包含字符串“Tokyo”,因此,我的代码将无法在日语操作系统上运行。

关于如何解决这个问题的任何想法?谢谢。

4

1 回答 1

1

我认为您应该可以使用该TimeZoneInfo.Id属性。我不认为它会被本地化,因为它必须匹配一些注册表项。

在 Windows XP 和 Windows Vista 中,它对应于注册表的 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zone 分支的子项。它可以作为参数传递给 FindSystemTimeZoneById 方法,以从注册表中检索特定时区。

如果由于某种原因不起作用,也许该BaseUtcOffset属性对您来说就足够了。

于 2013-04-03T05:00:10.677 回答