如果日期是'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
使用DateTime::createFromFormat
$format = "d_m_y";
$date1 = \DateTime::createFromFormat($format, "03_01_12");
$date2 = \DateTime::createFromFormat($format, "31_12_11");
var_dump($date1 > $date2);发布于 2018-05-30 05:01:43
不是回答OPs的实际问题,而是回答标题。因为这是“在php中比较日期”的最高结果。
使用Datetime对象(php >= 5.3.0)和Compare them directly非常简单
$date1 = new DateTime("2009-10-11");
$date2 = new DateTime("tomorrow"); // Can use date/string just like strtotime.
var_dump($date1 < $date2);https://stackoverflow.com/questions/8722806
复制相似问题