0

これに関するいくつかの投稿を見てきましたが、それがどのように機能するのかまだ少し混乱しています.

2回比較したい。1 回目は NOW の時刻で、2 回目はデータベースからの日時です。日、月、年の違いを取得できますが、分と秒を取得しようとすると、数字が正しくないようです。

分と秒で時間を取得するための私のコードは次のとおりです。

$date1 = date('Y-m-d H:i:s');
$date2 = $blah['datetime']; //the variable here is in dateTime format coming from the database
$diff = abs(strtotime($date2) - strtotime($date1)); //Does this give the seconds?
$mins = floor($diff / 60);

1 分前にその行 (データベース内のテーブル) を追加したにもかかわらず、これまでのところ 560 のような値を返しています。おそらく私は何かを誤解しているか、何かを見逃しています。何か明確にしたいことがあれば教えてください。ありがとう!

4

1 に答える 1

0

この計算は、PHP のDateTimeおよびDateIntervalクラスを使用すると非常に簡単です。

$date1 = new \DateTime();
$date2 = \DateTime::createFromFormat('Y-m-d H:i:s', $blah['datetime']);
$diff = $date1->diff($date2); // $diff is an Instance of DateInterval

$mins = ($diff->days * 60 * 24) + ($diff->h * 60) + $diff->i;
于 2013-05-12T12:20:29.277 に答える