2012-08-07 95 views
2

我有一個奇怪的錯誤。 如果我稱之爲:PHP date()顯示明天的日期

date("js M") 

它顯示明天的日期,我不知道是什麼改變,因爲昨天函數工作得很好。 據我所知,我還沒有測試任何產品,它只發生在本地主機上。

我已經檢查過我的時鐘,它是正確的,有沒有其他的地方PHP取日期?什麼可以改變? 謝謝!

+0

當你說你已經檢查了你的時鐘,你的意思是服務器上的這個返回這個嗎?此外,Web服務器/ PHP的時區是否與服務器的時區相匹配。幾年前,兩臺服務器出現類似的問題,其中一臺的時區設置爲悉尼,另一臺設置爲墨爾本,然後夏令時啓動,並突然間隔一小時返回結果。 – Adrian 2012-08-07 22:17:24

+0

是的,我的意思是那個回來的人。 該時鐘設置爲「2012年8月7日」(今日日期供參考),但該功能顯示「2012年8月8日」 有點讓我感到吃驚,因爲昨天工作得很好,而我是隻有一個與服務器混淆的人(據我所知),並且我還沒有觸及過時區配置。 – ILikeTacos 2012-08-07 22:31:35

回答

8

默認情況下,date()函數使用一個始終設置爲+0:00的unix時間戳。

date_default_timezone_set('America/New_York'); 

如果您設置默認的時區,使用將應用正確的偏移到您所在位置的unix時間戳,你應該無論你身在何處會得到你正確的日期。

+0

或http://www.php.net/manual/en/timezones.php – h2ooooooo 2012-08-07 22:14:30

+1

其他任何時區的解釋有點短,但確實可能是一個時區問題。 – Pevara 2012-08-07 22:15:13

+0

謝謝!這工作!但是可能會導致什麼時間改變?我根本沒有觸及配置。 – ILikeTacos 2012-08-07 22:15:29