ConvertTimeFromUtc 为 (UTC-07:00) 亚利桑那州计算 00:00:00

我正在尝试计算从 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} 这很奇怪,因为它适用于明斯克等其他时区

我错过了什么吗?


守着星空守着你
浏览 300回答 1
1回答

千巷猫影

嗯,你有 UTC-7,所以从 01/01/0001 05:02:00 你在 31/12/0000 22:02:00 (或 12/31/0000 遵循美国格式) TimeZoneInfo.ConvertTimeFromUtc(DateTime.Parse("01/01/0001 05:02:00"), timeZoneInfo);和 msdn 说:DateTime 值类型表示日期和时间,其值范围从 00:00:00(午夜)、0001 年 1 月 1 日 Anno Domini(普通纪元)到 11:59:59 PM、9999 年 12 月 31 日(公历)日历。所以 01/01/0001 00:00:00 是第一个可用的日期..你没有错过任何东西,它只是 DateTime 的限制对不起我的英语不好
打开App,查看更多内容
随时随地看视频慕课网APP