我想检查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
一旦我能得到预期值,我将如何有效地比较这两个值? 谢谢你的帮助
答案 0 :(得分:0)
对于比较时间,您可以使用strtotime
,如下所示:
$tomorrow = strtotime('+ 24 hours');
$timestamp = strtotime($row['datetime']);
if ($timestamp > $tomorrow) {
// The date in database is greater than tomorrow
}