1
$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.

このコードを実行すると、エコーは常に 0 を返します。

日付間の秒数を取得しようとしています。

4

3 に答える 3

6

基本的に、2 つの文字列を減算しようとしています。エコーすると、値が のようになり、別の文字列 -- になる$from_timeことがわかります。2013-10-27 12:49:270$to_time2013-10-27 13:28:01

減算を行う前に、それらをタイムスタンプに変換する必要があります。

$from_time = time();
$to_time = strtotime($row['clock']);

DateTimeクラスを使用して日付と時刻を操作することをお勧めします。

DateTimeこれは、クラスを使用して 2 つの日付の違いを見つける方法です。

$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
于 2013-10-27T12:51:22.417 に答える
1

最初に使用に変換$to_timeしてから減算すると、正しい結果が得られますtimestampstrtotime()

于 2013-10-27T12:55:28.423 に答える
0

strtotimeは、日付を秒単位の UNIX タイムスタンプに変換
し、計算を実行できるようにします。
http://php.net/manual/de/function.strtotime.php

$from_time = time();
$to_time = strtotime($row['clock']);

echo  $from_time - $to_time;
于 2013-10-27T12:50:49.190 に答える