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

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

Stack Overflow用户
提问于 2012-01-04 14:18:56
回答 15查看 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

回答 15

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用户

发布于 2015-03-17 21:03:14

函数的作用是:返回两个DateTime对象之间的差值。

如果第一个日期在第二个日期之前,则返回正天数;否则返回负天数:

代码语言:javascript
复制
<?php
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);
echo $diff->format("%R%a days");
?>

输出将为"+272天“;

更改$date1 = "2014-03-15“

代码语言:javascript
复制
 <?php
    $date1=date_create("2014-03-15");
    $date2=date_create("2013-12-12");
    $diff=date_diff($date1,$date2);
    echo $diff->format("%R%a days");
    ?>

输出将是"-93天“

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8722806

复制
相关文章

相似问题

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