在PHP中比较DATETIME列日期和当前日期?
我有一个DATETIME列,用于存储以下值: 2012-05-20 14:00:00 如何将在PHP中比较DATETIME列日期和当前日期?,php,Php,我有一个DATETIME列,用于存储以下值: 2012-05-20 14:00:00 如何将$row['date']中的日期与当前日期(时间不重要)进行比较,以确定它是否比今天早 if($row['Date'] < ...) { echo 'date has passed' } if($row['Date']
$row['date']
中的日期与当前日期(时间不重要)进行比较,以确定它是否比今天早
if($row['Date'] < ...) {
echo 'date has passed'
}
if($row['Date']<…){
回显“日期已过”
}
strotime($row['Date'])
我们将额外的一天(60秒*60分钟*24小时)添加到time()中,以有效地忽略您请求的小时/分钟/秒
很简单:D你也可以很容易地添加偏移量和其他东西:
if($row['Date']
正确的方法是将MySQL日期字符串转换为PHP理解时间值的格式:
$date = strtotime( $row['date'] );
然后你可以和现在的时间比较一下
if ( $phpdate < time() ) {
...
}
if($phpdate
为什么不让SQL为您进行比较
SELECT *, DATE(`Date`) < DATE(NOW()) AS is_old ...
这是一个很老的问题,但它仍然可以帮助别人
从t文章中选择*其中UNIX_时间戳(time
)>“UNIX_时间戳(2018-01-01 21:48:46
)”
注意单引号, 时间是一个列名。
我们使用它的方式如下:
$sql=“从tbarticle WHERE UNIX\u TIMESTAMP(time
)>“UNIX\u TIMESTAMP($urlTime)”中选择*代码>
如果$urlTime是20012-05-20 14:00:00
,则用当前日期时间替换$urlTime。如果忽略时间,则该选项无效。这不考虑要忽略时间的20012-05-20 14:00:00
。strotime函数在计算中包含秒数,如果你在我更新它以包含strotime之前发布了这个,那么是的-我修正了:DNo,我在之后发布了它。想一想,然后重读这个问题:看看它是否比今天更古老。嗯。。。strottime和time都返回UNIX时间戳,它们都集中在秒上。是因为20012太大了吗?IDK。。。你看到我没有看到的是什么?或者你说的是我忘记包含的日期的大写字母D?你也可以在数据库中进行比较,然后在结果中检查该列。你想从$row['date']变量中删除时间来比较实际的天数。所以:如果(strotime(substr($row['Date'],0,10))SELECT *, DATE(`Date`) < DATE(NOW()) AS is_old ...
if ($row['is_old']) {
// handle the old date case
}