PHP将SQL数据库的时间与当前时间进行比较

时间:2016-03-12 21:18:34

标签: php mysql datetime

我想检查SQL数据库中的时间是否超过一天。 我能够从SQL行中读取日期时间并获取当前时间。然而,我无法做到的是从行中拉出1天/ 24小时,然后比较2。

$currenttime = date("Y-m-d h:m:s");
$tmstp = $row['datetime'];
$newtime = date("Y-m-d h:m:s", $tmstp);
echo $tmstp."<br>".$currenttime."<br>".$newtime;

返回以下内容:

Notice: A non well formed numeric value encountered in C:\xampp\htdocs\test.php on line 12
0000-00-00 00:00:00
2016-03-12 09:03:39
1970-01-01 01:01:00

预期空时,我初始化了行但没有传递给它的值。将其设置为null以外的任何值(包括将其设置为超过24小时之前的任意日期,但是在1970-1-1之后或者将其添加一小时:

$currenttime = date("Y-m-d h:m:s");
$tmstp = $row['datetime'] + strtotime('+ 24 hours');
$newtime = date("Y-m-d h:m:s", $tmstp);
echo $tmstp."<br>".$currenttime."<br>".$newtime;

此时将它设置为明天:

1457903185
2016-03-12 10:03:25
2016-03-13 10:03:25

一旦我能得到预期值,我将如何有效地比较这两个值? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

对于比较时间,您可以使用strtotime,如下所示:

$tomorrow = strtotime('+ 24 hours');
$timestamp = strtotime($row['datetime']);

if ($timestamp > $tomorrow) {
    // The date in database is greater than tomorrow
}