【发布时间】:2016-11-17 09:57:34
【问题描述】:
当我在系统时区之外转换当前时间时出现异常。例如,在我的 PC 中,所有时区都是 UTC 时区。但是,当我获得 GMT 时区(格林威治标准时间)时,无法获得区域当前时间。目前我正在使用下面的代码。
DateTime time = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, TimeZoneInfo.Local.Id, "Greenwich Mean Time");
上面的代码抛出一个错误“在本地计算机上找不到时区 ID '格林威治标准时间'” 如何解决这个问题? 请帮帮我。
提前致谢
【问题讨论】:
-
可以尝试 TimeZoneInfo.GetSystemTimeZones 来查看您的系统上有哪些时区,认为 GMT 可能是“GMT 标准时间”,但该方法将获取所有已安装的列表
-
没有内置方法可以进行 1:1 转换。您将不得不求助于使用 Noda Time 等 3rd 方库
-
感谢 RoguePlanetoid 的回复,我尝试了上述方法,但我只得到 UTC 时区。未获取与 GMT 相关的时区。