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

如何在php中比较两个日期
EN

Stack Overflow用户
提问于 2012-01-04 14:18:56
回答 16查看 376.5K关注 0票数 117

如果日期是'03_01_12''31_12_11'格式,如何在php中比较两个日期。

我使用的是以下代码:

代码语言:javascript
复制
$date1=date('d_m_y');
$date2='31_12_11';
if(strtotime($date1) < strtotime($date2))
   echo '1 is small ='.strtotime($date1).','.$date1;
else
   echo '2 is small ='.strtotime($date2).','.$date2;

但是它不起作用..

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2012-01-04 15:17:28

您必须确保您的日期是有效的date对象。

试试这个:

代码语言:javascript
复制
$date1=date('d/m/y');
$tempArr=explode('_', '31_12_11');
$date2 = date("d/m/y", mktime(0, 0, 0, $tempArr[1], $tempArr[0], $tempArr[2]));

然后,您可以执行strtotime()方法来获取差异。

票数 45
EN

Stack Overflow用户

发布于 2012-01-04 15:50:59

使用DateTime::createFromFormat

代码语言:javascript
复制
$format = "d_m_y";
$date1  = \DateTime::createFromFormat($format, "03_01_12");
$date2  = \DateTime::createFromFormat($format, "31_12_11");

var_dump($date1 > $date2);
票数 41
EN

Stack Overflow用户

发布于 2018-05-30 05:01:43

不是回答OPs的实际问题,而是回答标题。因为这是“在php中比较日期”的最高结果。

使用Datetime对象(php >= 5.3.0)和Compare them directly非常简单

代码语言:javascript
复制
$date1 = new DateTime("2009-10-11");
$date2 = new DateTime("tomorrow"); // Can use date/string just like strtotime.
var_dump($date1 < $date2);
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8722806

复制
相关文章

相似问题

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