我有一个PHP脚本来检查存储在数据库中的日期是否大于,等于或小于当前时间。
我的问题是,即使数据库中的时间不是大于或等于当前时间,它也会回响“更大”(当它应该回显“不是”时)。
存储在数据库中的日期:
date_default_timezone_set('Europe/London');
$time_stamp = date('Y-m-d H:i:s');
$stmt = $con->prepare("SELECT * FROM table");
$stmt->execute();
$row = $stmt->fetch();
if($row['BannedUntil'] <= $time_stamp) {
echo 'Greater';
}else{
echo 'not';
}
答案 0 :(得分:0)
使用MySQL日期和时间函数DATEDIFF
date_default_timezone_set('Europe/London');
$time_stamp = date('Y-m-d H:i:s');
$stmt = $con->prepare("SELECT DATEDIFF(`BannedUntil`,NOW()) AS `daysUntil` FROM table");
$stmt->execute();
$row = $stmt->fetch();
if($row['daysUntil'] >= 0) {
echo 'Greater'; // banned
}else{
echo 'not'; // not banned
}