簡體   English   中英

PHP:時間戳差異不正確

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM