2
我正在接收來自全國各地不同服務器的數據饋送,並且這些項目用GMT時間標記。我知道標準時間的每個位置的GMT偏移量,但我不確定哪些位置支持/觀察夏令時。通常情況下,我只是檢查我的本地時間,看看偏移是什麼,然後從那裏開始 - 我可以很容易地確定是否因當前GMT偏移而觀測到DST) - 除了我的服務器位於亞利桑那州,其中DST沒有被觀察到。因此,無論DST是否處於活動狀態,我始終都是GMT-7。當我沒有在我的時區觀察DST時,確定當前的DST狀態(SQL Server)
當我的本地服務器沒有改變時間時,是否有一種簡單的方法來確定是否正在觀察DST?如果需要的話,我甚至可以編寫一個.NET SQL-CLR組件來檢查系統上的某些東西,儘管如果可能的話,我希望直接從T-SQL代碼中直接執行它。
我希望避免這種情況,但這是一種可能性 - 我知道每個數據流的來源,因此我可以在每個時區選擇一臺服務器並跟蹤其對此問題的響應,然後相應地調整日期時間值。感謝您的建議。 – SqlRyan 2012-02-15 19:52:07
不客氣。我認爲您需要檢查所有服務器,因爲DST遵守可能會在一個時區內發生變化,例如,印第安納波利斯。 – 2012-02-15 20:45:16
問題是SQL Server不是發送流的東西,而且我沒有與每個源相同的城市中有一個SQL Server。它最好是近似值,所以我想我可能會將調整後的時間和假定的偏移量與它一起存儲起來,所以如果由於某種原因偏移量不正確,我以後可以隨時輕鬆修改它。 – SqlRyan 2012-02-15 21:06:07