我想計算兩個時間戳之間的差異,然後將其轉換回成可讀人日計算,但我越來越加收2小時內添加到我的約會!我不知道爲什麼。PHP日期不正確的方式
$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/>";
OUTPUT:
未來時間:0時45分42秒
當前時間:0點17分22秒
沒事的,但是當我米試圖計算差額我得到額外的2小時!
echo "Difference: ".date('H:i:s', $data-$time);
OUTPUT:
差異:二時28分20秒
FIX:
$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'))
OUTPUT:
差異:0點28分20秒
試試'echo「差異:」.date('H:i:s',$ data- $ time + 86400);'和後期結果 - 如果我的理論是正確的,這是一個測試。 – 2013-03-16 22:23:30
我收到了正確的結果:http://codepad.org/TNwDTxCw。我猜你正在遇到一個時區問題。嘗試使用['DateTime :: diff'](http://php.net/manual/en/datetime.diff.php)方法。 – Tchoupi 2013-03-16 22:25:16
這看起來像夏令時問題。你在什麼時區? – johannes 2013-03-16 22:27:20