如果日期是'03_01_12'
和'31_12_11'
格式,如何在php中比较两个日期。
我使用的是以下代码:
$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;
但是它不起作用..
发布于 2012-01-04 15:17:28
您必须确保您的日期是有效的date对象。
试试这个:
$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()
方法来获取差异。
发布于 2012-01-04 15:50:59
$format = "d_m_y";
$date1 = \DateTime::createFromFormat($format, "03_01_12");
$date2 = \DateTime::createFromFormat($format, "31_12_11");
var_dump($date1 > $date2);
发布于 2015-03-17 21:03:14
函数的作用是:返回两个DateTime对象之间的差值。
如果第一个日期在第二个日期之前,则返回正天数;否则返回负天数:
<?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“
<?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天“
https://stackoverflow.com/questions/8722806
复制相似问题