首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中比较两个日期?

如何在PHP中比较两个日期?
EN

Stack Overflow用户
提问于 2010-10-03 06:19:55
回答 13查看 291.6K关注 0票数 138

如何在PHP中比较两个日期?

日期以以下格式存储在数据库中

2011-10-2

如果我想将今天的日期与数据库中的日期进行比较,看看哪一个更大,我该怎么做呢?

我试过了,

代码语言:javascript
复制
$today = date("Y-m-d");
$expire = $row->expireDate //from db

if($today < $expireDate) { //do something; }

但它并不是真的那样工作。另一种方法是什么?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-10-03 06:31:13

数据库中的

日期如下所示2011-10-2

将其存储在YYYY-MM-DD中,然后进行字符串比较,因为'1‘> '0’等等。

票数 86
EN

Stack Overflow用户

发布于 2010-10-03 06:25:07

如果你所有的日期都在1970年1月1日之后,你可以使用这样的东西:

代码语言:javascript
复制
$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类:

代码语言:javascript
复制
$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($expire_dt < $today_dt) { /* Do something */ }

或者其他类似的东西。

票数 233
EN

Stack Overflow用户

发布于 2013-10-01 20:27:28

为了补充已经给出的答案,请参见以下示例:

代码语言:javascript
复制
$today = new DateTime('');
$expireDate = new DateTime($row->expireDate); //from database



if($today->format("Y-m-d") < $expireDate->format("Y-m-d")) { 
    //do something; 
}

更新:或简单地使用老式的date()函数:

代码语言:javascript
复制
if(date('Y-m-d') < date('Y-m-d', strtotime($expire_date))){
    //echo not yet expired! 
}   
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3847736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档