PHP の gmstrftime() 関数に問題があります。見てください:
<?
$ts[]=1348573985; // '2012-09-25 13:53:05' (date returned from mysql's from_unixtime() function)
$ts[]=1233958620; // '2009-02-06 23:17:00' (date returned from mysql's from_unixtime() function)
foreach($ts as $t) {
echo $t." => ".gmstrftime( "%d %B %Y - %H:%M", $t )."\n";
}
?>
出力は次のようになります。
1348573985 => 25 September 2012 - 11:53
1233958620 => 06 February 2009 - 22:17
ご覧のとおり、最初のタイムスタンプは (mysql の出力から) 2 時間ずれていますが、これはタイムゾーン設定のため正常です。しかし、2 つ目は 1 時間しかずれていませんが、2 つの gmstrftime() 呼び出しの間でタイムゾーンを変更していませんか??
これは PHP の gmstrftime() 関数のバグですか、それとも何か他のバグですか?