【发布时间】:2018-09-09 15:40:21
【问题描述】:
我正在尝试计算从 UTC 到特定时区的时间。我为此使用 ConvertTimeFromUtc 方法,方法是将指定的 UTC 时间和指定时区显示名称的 TimeZoneInfo 传递给它。这适用于多个时区,但对于 -7,它使用以下(简化)参数计算 0:
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Parse("01/01/0001 05:02:00"), timeZoneInfo)
但是在进行计算后,它显示为 {01/01/0001 00:00:00},这很奇怪,因为它适用于明斯克等其他时区
我错过了什么吗?
【问题讨论】:
-
抱歉,您的代码甚至无法编译,因为
ConvertTimeFromUtc将DateTime作为第一个参数。您能否创建一个minimal reproducible example 来证明您的问题? -
已更新,以便编译。当我去掉我必须简化场景的内容时(因为它在其他时区工作)我忘记了它需要一个 DateTime 而不是一个字符串。