2つのタイムスタンプの差を計算してから、読み取り可能な人間の日付に変換し直したいのですが、日付に2時間が追加されています。どうしてか分かりません。
$data = $row['date_future']; // 1363473942
$time = time(); // 1363472242
//echoing future date
echo "Future time: ".date('H:i:s', $data)."<br/>";
echo "Current time:".date('H:i:s', $time)."<br/>";
出力:
将来の時間:00:45:42
現在の時刻:00:17:22
大丈夫ですが、差を計算しようとすると、さらに2時間かかります。
echo "Difference: ".date('H:i:s', $data-$time);
出力:
違い:02:28:20
修理:
$d1 = new DateTime(date('H:i:s', $data));
$d2 = new DateTime(date('H:i:s', $time));
$interval = date_diff($d2, $d1);
echo "Difference: ".($interval->format('%H:%i:%s'))
出力:
違い:00:28:20