如何在PHP中比较当前时间与旧时间

时间:2014-04-29 10:54:11

标签: php

我已将日期字段存储在DB。

在PHP中,我正在获取该字段并转换为日期。

我想将这个时间与当前时间进行比较。如果差异超过60分钟。它会返回一些价值。

我不知道如何为那个

编写逻辑
$lastUpdatedField = $rows_fetch['lastUpdatedTime'];
$lastUpdatedDate = new DateTime($lastUpdatedField);

$nowDate = new DateTime(date('y-m-d h:m:s'));

我的旧日期&时间是$ lastUpdatedDate变量,当前时间是$ nowDate。

如何比较这两个

3 个答案:

答案 0 :(得分:1)

$interval = $nowDate->diff($lastUpdatedDate);
echo $interval->h;

DateDiff:http://www.php.net/manual/en/datetime.diff.php

DateInterval:http://www.php.net/manual/en/class.dateinterval.php

答案 1 :(得分:0)

首先将当前时间和旧时间转换为一个单位,如Unix时间戳,将其传递给strtotime()。然后区分时间戳以获得两次之间的差异。

$difftime = strtotime(date('Y-m-d H:i:s')) - strtotime($rows_fetch['lastUpdatedTime']);

然后将差异转换为天数,如下所示:

$days=$difftime/24*60*60;

一旦你得到了这些日子,你可以从下面得到它的分钟数来比较以满足你的需要。

$timediff = $days * 24 * 60;

答案 2 :(得分:0)

早先出现同样的问题,实际上它已经退出了简单的

继承你声明变量的部分

$lastUpdateddate = new DateTime($lastUpdatedField);
$nowDate = new DateTime(date('y-m-d h:m:s'));

然后你必须将它们转换为第二格式,这样你就可以用它们进行数学运算 为此,请使用strtotime

$Diff = strtotime($lastUpdatedDate) - strtotime($nowDate);

然后检查时间差是否超过60分钟, 因此,需要花费60秒来获得分钟,然后花费60分钟来获得时间

if ($diff/60/60 <= 1){
    //do your thing here
{