如何在PHP中比较两个日期?
日期以以下格式存储在数据库中
2011-10-2
如果我想将今天的日期与数据库中的日期进行比较,看看哪一个更大,我该怎么做呢?
我试过了,
$today = date("Y-m-d");
$expire = $row->expireDate //from db
if($today < $expireDate) { //do something; }
但它并不是真的那样工作。另一种方法是什么?
发布于 2010-10-03 06:31:13
数据库中的
日期如下所示2011-10-2
将其存储在YYYY-MM-DD中,然后进行字符串比较,因为'1‘> '0’等等。
发布于 2010-10-03 06:25:07
如果你所有的日期都在1970年1月1日之后,你可以使用这样的东西:
$today = date("Y-m-d");
$expire = $row->expireDate; //from database
$today_time = strtotime($today);
$expire_time = strtotime($expire);
if ($expire_time < $today_time) { /* do Something */ }
如果您使用的是PHP5 >= 5.2.0,则可以使用DateTime类:
$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);
if ($expire_dt < $today_dt) { /* Do something */ }
或者其他类似的东西。
发布于 2013-10-01 20:27:28
为了补充已经给出的答案,请参见以下示例:
$today = new DateTime('');
$expireDate = new DateTime($row->expireDate); //from database
if($today->format("Y-m-d") < $expireDate->format("Y-m-d")) {
//do something;
}
更新:或简单地使用老式的date()函数:
if(date('Y-m-d') < date('Y-m-d', strtotime($expire_date))){
//echo not yet expired!
}
https://stackoverflow.com/questions/3847736
复制相似问题