2014-03-13 32 views
0

我已在構造函數中,但日期(默認時區)仍然給我錯誤的時間date_default_timezone_set()改變時區後...date()函數讓我在錯誤的時間,甚至使用

$time = 'Etc/GMT-4'; 
date_default_timezone_set($time); 

date('g:iA. M j, Y') . ' in ' . date_default_timezone_get() . '.'; 

是給

7:00AM. Mar 13, 2014 in Etc/GMT-4. 

,而不是

11:00AM. Mar 12, 2014 in Etc/GMT-4. 

除了所有的混亂

now()time()是給不同的輸出...

+0

現在()?現在做什麼()?你是在自己的本地機器上還是在遠程服務器上運行它? –

+0

我在本地機器上運行。我認爲now()是一個mysql函數,不太確定,但由於某種原因,它們會輸出相同的東西。 –

+0

'Etc/GMT-4'是否是有效的時區? PHP有一個[支持的時區字符串列表](http://us2.php.net/manual/en/timezones.php)。 –

回答

0

顯然,這是一個PHP的行爲或錯誤,但是我們想叫它:

由於某些原因,GMT/GMT時區實施GMT偏移「錯誤的方式」

(來源:https://bugs.php.net/bug.php?id=34710

所以,如果你是在GMT-4,你必須使用

date_default_timezone_set('Etc/GMT+4'); 

問候

相關問題