我運行一個簡單的測試,比較date()和gmdate()的輸出,我對結果感到困惑。我瞭解功能之間的區別,但是,服務器設置爲GMT時間,所以我期望結果是相同的。date()和gmdate()返回不同的結果
我檢查了時區設置,他們似乎很好。我懷疑這與日間儲蓄有關。
我很期待輸出是相同的嗎?
if (date_default_timezone_get()) {
echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}
echo '<br>Full date '.date("Y-m-d H:i:s T I");
echo '<br>Full date GM '.gmdate("Y-m-d H:i:s T I");
$now = date("Y-m-d H:i:s T I");
$tempDate = $startWeek = time();
$date = new DateTime();
$tempDateU = $date->format('U');
$tempDate = $startWeek = time();
echo '<br>Date: '.date("d/m/y H:i", $tempDate);
echo '<br>GM Date: '.gmdate("d/m/y H:i", $tempDate);
echo '<br>Date: '.date("d/m/y H:i", $tempDateU);
echo '<br>GM Date: '.gmdate("d/m/y H:i", $tempDateU);
輸出:
date_default_timezone_set: Europe/London
Full date 2016-04-29 11:35:55 BST 1
Full date GM 2016-04-29 10:35:55 GMT 0
Date: 29/04/16 11:35
GM Date: 29/04/16 10:35
Date: 29/04/16 11:35
GM Date: 29/04/16 10:35
'歐洲/倫敦'!='GMT' – CBroe
看起來像服務器設置爲'歐洲/倫敦',其*目前不是* GMT,但BST(英國夏令時)=> GMT + 1 – CD001