我有一個今天開始失敗的測驗,經過一番調查后,我發現回傳的日期相差 1 小時,更準確地說,它導致有 1 小時的偏移量(我現在所在位置的當前偏移量 [更正:今天的偏移量是仍然是 00:00])。
昨天的測驗很好。相同的操作回傳一個沒有額外偏移的日期。
今天是 2022 年 3 月 26 日
。今晚我所在位置的偏移時間發生變化,午夜我們將時間向前移動 1 小時。([更正]更改是在02:00移動時間到03:00)
導致錯誤的日期是DateTime.Today.AddDays(2)獲得的日期。
請注意,如果您添加 1 天,它似乎沒問題。
let today = DateTime.Today
let tomorrow = DateTime.Today.AddDays(1.)
let nextDay = DateTime.Today.AddDays(2.)
Console.WriteLine($"today: {today:o} {today.Kind}")
Console.WriteLine($"tomorrow: {tomorrow:o} {tomorrow.Kind}")
Console.WriteLine($"nextDay: {nextDay:o} {nextDay.Kind}")
輸出:

nextDay日期對我來說似乎是錯誤的。為什么它的偏移量是01:00?
因為它增加了 48 小時,并且由于時間變化,它還顯示了“新”本地偏移量?
那么,為什么當我添加 2 天時它不會發生?
3 月 27 日(明天)已經有 1 小時的偏移量。
我錯過了什么,或者我認為那個日期是錯誤的?
uj5u.com熱心網友回復:
3 月 27 日(明天)已經有 1 小時的偏移量。
不完全是。在歐洲大部分地區(包括英國,這似乎是您當前的位置)夏令時從 3 月 27 日01:00 UTC開始。在 3 月 27 日 00:00,您在英國仍有“冬季時間”,偏移量為 00:00。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/450021.html
