我有一个 DATETIME 列,它存储以下值:
2012-05-20 14:00:00
如何将日期$row['Date']
与当前日期(时间不重要)进行比较以查看它是否比今天早?
if($row['Date'] < ...) {
echo 'date has passed'
}
我有一个 DATETIME 列,它存储以下值:
2012-05-20 14:00:00
如何将日期$row['Date']
与当前日期(时间不重要)进行比较以查看它是否比今天早?
if($row['Date'] < ...) {
echo 'date has passed'
}
为什么不让 SQL 为您进行比较?
SELECT *, DATE(`Date`) < DATE(NOW()) AS is_old ...
然后你有一个名为“is_old”的列,如果日期在今天之前,则为 1,如果不是,则为 0。因此,在 PHP 中,您需要做的就是:
if ($row['is_old']) {
// handle the old date case
}
strtotime($row['Date']) < time() + 60 * 60 * 24;
我们将额外的一天(60 秒 * 60 分钟 * 24 小时)添加到 time() 以有效地忽略您要求的小时/分钟/秒
就是这么简单 :D 你也可以很容易地添加偏移量和东西:
if( $row['Date'] < date('Y-m-d') ) {
echo 'date has passed';
}
正确的方法是将 MySQL 日期字符串转换为 PHP 理解时间值的格式:
$date = strtotime( $row['date'] );
然后,您可以将其与当前时间进行比较,
if ( $phpdate < time() ) {
...
}
非常老的问题,但它仍然可以帮助某人。
注意单引号,
时间是列名。
我们使用它的方式如下:
将 $urlTime 替换为当前日期时间
SELECT * FROM tbarticle WHERE UNIX_TIMESTAMP(
time
) > 'UNIX_TIMESTAMP(2018-01-01 21:48:46
)'
$sql="SELECT * FROM tbarticle WHERE UNIX_TIMESTAMP(
time
) > 'UNIX_TIMESTAMP($urlTime)'";