0

我已经查看了一些关于此的帖子,但我仍然对它的工作原理感到有些困惑。

我想比较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);

到目前为止,它返回的值类似于 560,即使我在一分钟前添加了该行(在数据库中的表中)。也许我误解了什么,或者错过了什么。如果你想让我澄清任何事情,请告诉我。谢谢!

4

1 回答 1

0

使用 PHP 的DateTimeDateInterval类,这种计算非常容易。

$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 回答