我正在尝试计算从 UTC 到特定时区的时间。我正在使用 ConvertTimeFromUtc 方法通过传递指定的 UTC 时间和指定时区显示名称的 TimeZoneInfo。这适用于多个时区,但是对于-7,它使用以下(简化)参数计算 0:
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");
TimeZoneInfo.ConvertTimeFromUtc(DateTime.P("01/01/0001 05:02:00"), timeZoneInfo)
然而,在进行计算后,它出来为 {01 / 01 / 0001 00:00:00} 这是奇怪的,因为它适用于其他时区,如明斯克等
我错过了什么吗?
哼你有 UTC-7 所以从 01 / 01 / 0001 05:02:00 你在 31 / 12 / 0000 22:02:00(或 12 / 31 / 0000 以下美国格式)
TimeZoneInfo.ConvertTimeFromUtc(DateTime.P("01/01/0001 05:02:00"), timeZoneInfo);
和 MSDN 说:
DateTime 值类型表示日期和时间,其值范围为从 0001 年 1 月 1 日 00:00:00(午夜)Anno Domini(公共时代)到公历 9999 年 12 月 31 日下午 11:59:59 (C.E.)。
所以 01 / 01 / 0001 00:00:00 是第一个可用的日期..
你没有错过任何东西,它只是 DateTime 的限制
对不起我的英语
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(14条)