我正在尝试编写一个PHP代码,能够计算两个日期之间相差的天数。我编写的代码如下:
<?php
$c_date = date("Y-m-d");
//Subtracting two dates.
$date1 = new DateTime($d_date); //$d_date gets its value from database which i havent shown here
$date2 = new DateTime($c_date);
$interval = $date1->diff($date2);
echo "difference " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";
?>
现在上面的代码可以工作,但是我不能使用它来满足我的需求。我需要能够找出交货日期($d_date)是否在当前日期的5天内,并且如果是这种情况则返回值1。
所以,如果$c_date = "2013-09-24"和$d_date = "2013-09-30",那么我将返回1。 但问题是,当交货日期为"2013-09-19"时,交货日期已经过去很久了,我应该返回0,但是根据当前代码,天数差仍然是5,所以我将返回1,这是错误的。
有什么想法可以克服这个问题吗?
$interval->invert
,如果是过去的日期,它将为1 :)如果间隔被反转则为1,否则为0
。 - Jason OOO$interval->invert
,谢谢 @JasonOOO,这将是更好的方法。 - Rick Roy