2014-04-29 93 views
1

我在DB中存储了日期字段。如何将当前时间与PHP中的旧时间进行比较

在PHP中,我得到该字段并转换为日期。

我想比较当前时间与当前时间。如果差距超过60分钟。它会返回一些价值。

我不知道怎么写逻辑为

$lastUpdatedField = $rows_fetch['lastUpdatedTime']; 
$lastUpdatedDate = new DateTime($lastUpdatedField); 

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

我已经老了日期&时间为$ lastUpdatedDate变量,当前时间在$ nowDate。

如何比较这两个

+1

你看着HTTP://www.php。 net/manual/de/datetime.diff.php? –

+0

使用DateTime类的+1。 –

+0

注意:'new DateTime(date('y-m-d h:m:s'))'是完全多余的(可能有时区问题)。只需完全省略构造函数参数即可。 –

回答

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; 
+1

尝试充实您的答案。只是在没有任何上下文或解释的情况下发布代码块并不是一个很好的答案。 –

+0

@ Xavier Kapeller是现在的答案还是需要修改。 – Pinu

+0

是的,现在好多了! –

0

有同样的问题早些时候其实戒烟,你声明变量

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

然后,你必须将它们转换为第二个简单

继承人的一块 - 格式,以便你可以做数学与他们 要做到这一点使用strtotime

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

然后,只需检查,看看是否在时间上的差异更多的则是60分钟, 因此,通过60秒devide得到分钟,60拿到小时

if ($diff/60/60 <= 1){ 
    //do your thing here 
{ 
相关问题