[英]PHP: Timestamp difference incorrect
情況
我有兩個時間戳。
一個帶開始時間,一個帶結束時間。
開始時間是:04:43:37
結束時間是:11:59:59
現在,我試圖得到像這樣的日期之間的差異:
//define timestamps
$start_time = 1297698217;
$end_time = 1297724399;
$time_diff = $end_time - $start_time;
//display times and difference
echo
'<b>Start time:</b> ' . date('d-m-Y h:i:s', $start_time) . '<br />' .
'<b>End time:</b> ' . date('d-m-Y h:i:s', $end_time) . '<br />' .
'<b>Time difference::</b> ' . date('h:i:s', $time_diff);
結果
Start time: 14-02-2011 04:43:37
End time: 14-02-2011 11:59:59
Time difference: 08:16:22
問題
現在的問題是結果應該是07:16:22。 我嘗試過不同的時間,但是每次得到相同的結果。 一小時相差太大。
有願意幫助的專家嗎?
最后一個應該是gmdate
而不是date
:
'<b>Time difference::</b> ' . gmdate('h:i:s', $time_diff);
date
根據您當前的語言環境(似乎是GMT + 1)進行調整。 gmdate
不會進行該調整。
我假設您僅打算將其用於少於24小時的時差。
您要讓它將1970-01-01 07:16:22轉換為時間字符串以進行顯示-根據您所在的時區會有所不同。
要使其成為格林尼治標准時間,請使用gmdate(),但是當時差> 24小時時,仍然會導致您遇到問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.