$from_time = date('Y-m-d H:i:s');
$to_time = $row['clock'];
echo $from_time - $to_time;
$ to_time是MySQL數據庫中的時間戳記。 $ row ['clock'] = 2013-10-27 13:28:01。PHP - 兩個日期之間的差異,返回0
當我運行這段代碼,回聲總是返回0
我想獲得的日期之間的秒數。
$from_time = date('Y-m-d H:i:s');
$to_time = $row['clock'];
echo $from_time - $to_time;
$ to_time是MySQL數據庫中的時間戳記。 $ row ['clock'] = 2013-10-27 13:28:01。PHP - 兩個日期之間的差異,返回0
當我運行這段代碼,回聲總是返回0
我想獲得的日期之間的秒數。
你基本上試圖減去兩個字符串。如果您回顯$from_time
,則可以發現該值將類似於2013-10-27 12:49:270
,並且$to_time
將是另一個字符串 - 2013-10-27 13:28:01
。
你需要將它們轉換成時間戳做減法前:
$from_time = time();
$to_time = strtotime($row['clock']);
我建議使用DateTime
類使用日期和時間的工作。
這是您使用DateTime
類是如何找到兩個日期之間的差值:
$from_time = new DateTime('now');
$to_time = new DateTime("2013-10-27 13:28:01");
$interval = $from_time->diff($to_time);
echo $interval->format('%h hours %i minutes %S seconds');
輸出:
0 hours 31 minutes 48 seconds
strtotime
會將日期轉換爲UNIX時間戳,
這是在幾秒鐘內,並將使您能夠進行計算。
http://php.net/manual/de/function.strtotime.php
$from_time = time();
$to_time = strtotime($row['clock']);
echo $from_time - $to_time;
你不需要做'strtotime(date('Ymd H:i:s'))' - 只需'time()'就足夠了。 –
謝謝!這工作。 – user2924019
首先使用strtotime()
轉換$to_time
到timestamp
,然後減去,只有這樣,你會得到正確的結果
謝謝!這工作。 – user2924019