好吧,如何正確處理時區轉換?
我有一個問題。我正在建立一個網站,最終將持有大量的客戶數據記錄。由於客戶端可以導出和導入他們的數據,我必須能夠在站點和服務器中維護基於會話的時區。
現在我的服務器設置爲GMT。當我在shell中運行日期命令時,我發現這在發佈時是正確的。
Fri Mar 18 20:04:32 GMT 2011
然後,當我做hwclock --show是給了我,再次,這是正確的。
Fri 18 Mar 2011 08:06:22 PM GMT
現在,當我告訴PHP改變它的時區爲GMT-4(因爲這是在我的DST時區保理)
date_default_timezone_set('Etc/GMT-4');
echo date("m/d/Y g:i:s A T");
我得到2011年3月19日上午12時11分35秒格林尼治標準時間-5是完全錯誤的,而不是採取5個小時,它增加了5個小時。
於是我就這樣做:
date_default_timezone_set('Etc/GMT+4');
echo date("m/d/Y g:i:s A T");
我03/18/2011下午四時14分56秒GMT + 4。這是正確的時間。 MySQL做同樣的事情。似乎兩個人都想要反轉時間調整。我在設置上丟失了什麼?
事實上,它並沒有使因爲在我設置日期時間的每臺計算機上的原因它顯示東部時區旁邊的GMT-5,但我想我只是在編程中反轉我的+/-。 – Pyromanci 2011-03-19 21:33:08