我正在開發運行24/7/365全天候GPS設備報告的軟件。部分報告輸出要求我們將存儲的數據庫時間(保留在中央標準時間)轉換爲用戶計時器(任何請求的時區)。當人們每天運行兩次報告時,我們會遇到DST問題,這些報告會在時間更改之前開始並結束。它未能在一個行:轉換DayLight附近的日期時間節省時間?
return TimeZoneInfo.ConvertTime(dateToConvert, DatabaseTime, UserTime);
dateToConvert
是要轉換一個DateTime
。 DatabaseTime
和UserTime
都是TimeZoneInfo
對象。我沒有做任何棘手或複雜的事情,但靠近DST時間更改的日期時間會引發異常。例如3/10/2013 2:02:11 AM
即使它正在從中央時間「轉換」到中央時間。
在DST時間變化附近處理DateTimes的最佳方法是什麼?
這可能更大修的比你想要的,但它可能是更好的儲存所有的日期/格林尼治標準時間(因爲CST經歷了DST的變化,也有規模不連續性是在格林尼治標準時間不在那裏),只有轉換爲顯示目的(以及可能轉換輸入參數)。 – twalberg 2013-03-18 17:23:48
如果我從頭開始,我肯定會這樣做。我喜歡這些數據儘可能中立的想法,我認爲這將是實現這一目標的方式。 – 2013-03-18 17:28:07
只是爲了確認:是否有可能在數據庫中存儲'3/10/2013 2:02:11 AM',因爲它在跳過的小時內? – 2013-03-18 17:31:21