我希望能夠猜測用戶的時區偏移以及是否應用夏令時。目前,我發現這個最具權威性的代碼是在這裏:Javascript/PHP和時區
http://www.michaelapproved.com/articles/daylight-saving-time-dst-detect/
所以這給了我與DST指標偏移一起。
現在,我想在我的PHP腳本中使用這些以便爲用戶輸出本地日期/時間....但是對此最好?我想我有兩個選擇:
a)從timezone_abbreviations_list()的輸出中選擇一個具有相同偏移量和DST設置的隨機時區。然後用這個函數調用date_timezone_set()以便將正確的處理應用到時間。
b)繼續將日期視爲UTC,但只需添加一些時間戳以添加適當的小時數。
我的感覺是,選項B是最好的方法。原因在於,對於A,我可以使用一個時區,雖然在偏移量/ dst方面是正確的,但在場景後面可能會有一些可以給出令人驚訝的結果的隱晦規則(我不知道但是我不認爲我可以排除)。
然後我會在每個會話開始時使用Javascript重新檢查時區,以便捕獲用戶的時區變化(非常不可能)或者他們傳遞到DST時段的時間。
對不起,大腦轉儲 - 我真的只是在某種形式的保證後,上述方法是有效的。
謝謝,
詹姆斯。
嗨大衛, 非常感謝您的迴應。周圍的日程安排引發了大量的對話,非常感謝。檢查出現在的鏈接... 詹姆斯。 – James 2010-02-23 16:17:35