1
在這個奇怪的錯誤只是偶然與PHP的DateTime對象...... 檢查了這一點:php日期時間對象與Unix時間戳錯誤 - 錯誤?
<?php
$date = 1335823200;
echo date('d',$date);
echo '<br />';
$date = new DateTime("@$date");
echo $date->format('d');
?>
返回:
06
05
它不與任何時間戳發生。我懷疑它與不同的時區有關,但是用setlocale()來玩並沒有什麼幫助。順便說一下,DateTime中的'@'需要能夠使用unix時間戳(請參閱錯誤報告here)。下面幾個時間戳來測試:
1333663200
1338588000
1338847200
該死的,我以爲它都會使用同一來源的設置。你知道我是否可以全局定義DateTime的默認值(在instanciating之前)? – Anonymous
@danontheline:manual說php *應該*使用默認的時區,但實際上在我的PHP 5.2中是不正確的。它可能已經被固定在5.3 – zerkms