ちょっとトリッキーな質問があります.Stackoverflowで関連するすべての質問をすでに検索しましたが、どちらも私の難問を解決しませんでしたが、私は輪になって走っていると思いますので、ここに質問があります:
私はこのコードを持っています:
$val = (strtotime('2010-03-22 10:05:00')-strtotime('2010-03-22 09:00:00'))
これは正しく $val = 3900 (3600 秒 = 1 時間、300 秒 = 5 分) を返します。
しかし、これを行う:
echo date("H:i",$val)."<br>";
02:05に戻ります
これをしても:
echo date("H:i",3900)."<br>";
02:05 を返します (念のため)
これを行う:
echo date("H:i eTO",3900)."<br>";
戻り値
02:05 System/LocaltimeCET+0100
私のタイムゾーンは CET で、+1 です。
どうしたの?date() は何らかの理由でタイムゾーンを修正していますか? それとも私は何か間違ったことをしていますか?