因此,在我的PHP代碼中,我爲用戶做了時區選擇,其中我有一個時區和GMT小時移位值的表格。然後,只要用戶在SETTINGS中選擇他的時區,我就可以使用它添加到DATETIME列值中。時區PHP和SQL中的夏令時問題
所以我有兩個功能:從數據庫中的DATETIME列讀取數據,並寫入DATETIME列。顯然,第一個需要在將時區差異顯示給用戶之前「添加」時區差異(在SQL中使用DATEADD()),而第二個需要在將時區差異存儲到數據庫之前「減去」時區差異DATEADD())。這樣,我所有存儲的時區都在GMT,並根據用戶的時區選擇進行查看。
但是,夏令時是問題所在。我應該採取什麼方法(無論是在SQL級別還是PHP級別)來解決這個問題?在SQL中使用DATEADD()足以照顧DAYLIGHT儲蓄?我沒有任何線索。請幫忙!
不知道它是如何處理的,但也有像紐芬蘭時區UTC -3:30那樣好的邊緣情況...只是想我會提醒你那個可愛的扳手。 – CaffGeek 2010-09-02 21:50:50
SQL Server 2008 R2企業版 – johnshaddad 2010-09-02 21:51:35
那麼你們建議如何解決這個問題?這種情況下最好的辦法是什麼?我位於加拿大,所以我們確實有夏令時。那麼,我該如何解決這個問題?只要你可以建議替代品,我很好,不使用DATEADD()。 – johnshaddad 2010-09-02 21:54:58