如何以其他语言查询当前时区是否为(UTC+9:00)大阪,札幌,东京



我可以这样比较:

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

但问题是,如果我使用日本本地操作系统,例如,返回字符串使用日文字符而不是"Osaka, Sapporo, Tokyo"。在我的情况下,我检查了字符串是否包含字符串"Tokyo",因此,我的代码将无法在日本操作系统上工作。

对于如何解决这个问题有什么想法吗?谢谢。

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

在Windows XP和Windows Vista中,它对应于注册表HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionTime Zone分支的子键。它可以作为参数传递给FindSystemTimeZoneById方法,以便从注册表检索特定的时区。

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

相关内容

  • 没有找到相关文章

最新更新