在.Net中,有一個TimeZoneInfo類,它可以將DateTimes從一個TZ轉換到另一個TZ,它這樣做是考慮到了夏令時。
我猜測,在內部,.Net只是硬編碼了關于夏令時開始和結束的所有資料。
我的問題是--如果我有一個使用TimeZoneInfo在各區間進行轉換的應用程式,而某個國家改變了它的夏令時設定(或 "政策 "或人類對它的稱呼),那么在我的應用程式中反映這一變化的唯一方法就是為該國家手動設定一個檢查或應用一些.Net更新?
此外,由于夏令時是按國家劃分的,而TimeZoneInfo與時區一起作業,我如何告訴它在轉換時間時考慮到特定國家?我只能看到一個接受時區ID的建構式。
uj5u.com熱心網友回復:
取決于軟體包,時區資料來自你的作業系統,所以當作業系統更新時,軟體包就會更新。 這也是SQL服務器的作業方式。 例如,美國國會在2000年中期改變了DTS,我們不得不向客戶發布Windows更新,以確保我們的代碼以正確的時間運行。 每當這種情況發生時,一些NuGet庫就必須進行更新。 例如,TimeZoneConverter在時區變化時被更新。
注意:DTS和時區是由法律控制的,所以沒有任何演算法或公式來確定它們。 美國的一些地區,如夏威夷和亞利桑那州(但不是全部),根本沒有DTS。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328885.html
標籤:
