2014-11-03 57 views
2

我有一個PHP程序,讓員工每天進/出計時器。自夏令時以來,它將用戶顯示爲比實際時間晚一個小時的時間。這裏有一個例子:php顯示夏令時後的錯誤時間

<?php 
    echo 'Now:  '. date('h:i:s a') ."\n"; 
    echo "Timestamp: " . date('U') . "\n"; 
?> 

它現在是11:45。它顯示了12:45的結果。任何想法爲什麼會發生這種情況?

EDIT

上面的代碼不是時鐘進度的一部分。這只是我用來表明它給出不正確結果的一個例子。時區對結果沒有影響。如果我使用GMT,它仍然會顯示一小時。它在昨天工作,所以...

+0

我看到我不是唯一一個有這個問題 – Katushai 2014-11-03 16:51:51

+0

這是什麼'的var_dump(date_default_timezone_set(「EST」));'顯示? – Mike 2014-11-03 16:51:52

+0

var_dump(date_default_timezone_set('EST'));顯示以下結果:bool(true) – Katushai 2014-11-03 16:52:37

回答

2

將您的默認時區設置爲PHP可識別的東西。這裏是紐約州:

date_default_timezone_set('America/New_York'); 

DST/STD時間將自動處理。

+1

時區對結果沒有影響 – Katushai 2014-11-03 16:57:07