我正在嘗試計(jì)算從 UTC 到特定時(shí)區(qū)的時(shí)間。我為此使用 ConvertTimeFromUtc 方法,方法是將指定的 UTC 時(shí)間和指定時(shí)區(qū)顯示名稱的 TimeZoneInfo 傳遞給它。這適用于多個(gè)時(shí)區(qū),但是對(duì)于 -7,它使用以下(簡(jiǎn)化)參數(shù)計(jì)算 0:TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("US Mountain Standard Time");
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Parse("01/01/0001 05:02:00"), timeZoneInfo)但是在進(jìn)行計(jì)算后,它會(huì)顯示為 {01/01/0001 00:00:00} 這很奇怪,因?yàn)樗m用于明斯克等其他時(shí)區(qū)我錯(cuò)過(guò)了什么嗎?
1 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
嗯,你有 UTC-7,所以從 01/01/0001 05:02:00 你在 31/12/0000 22:02:00 (或 12/31/0000 遵循美國(guó)格式)
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Parse("01/01/0001 05:02:00"), timeZoneInfo);
和 msdn 說(shuō):
DateTime 值類型表示日期和時(shí)間,其值范圍從 00:00:00(午夜)、0001 年 1 月 1 日 Anno Domini(普通紀(jì)元)到 11:59:59 PM、9999 年 12 月 31 日(公歷)日歷。
所以 01/01/0001 00:00:00 是第一個(gè)可用的日期..
你沒(méi)有錯(cuò)過(guò)任何東西,它只是 DateTime 的限制
對(duì)不起我的英語(yǔ)不好
- 1 回答
- 0 關(guān)注
- 325 瀏覽
添加回答
舉報(bào)
0/150
提交
取消