是一个日期(m / y)之后或等于另一个日期

时间:2014-04-04 10:48:40

标签: php date datetime

我正在努力研究日期是否与其他日期相同或相同。但只看月/年,我需要从比较中排除这一天。

$paymentDate = DateTime::createFromFormat("Y-m-d", "2014-05-04");
$expiryDate = DateTime::createFromFormat("m/y", "03/17");

if ($paymentDate->format('m/y') >= $expiryDate->format('m/y')) {

   echo "Payment date is after or equal to the expiry date - payment won't work";

}

为什么这与声明相呼应?我比较这个错吗?我以为你可以这样比较日期。

2 个答案:

答案 0 :(得分:0)

Mark Ba​​ker在问题下面的评论中回答了这个问题。

首先比较YEAR,然后是MONTH:

if ($paymentDate->format('ym') >= $expiryDate->format('ym')) {}

否则12/2014将在2015年1月之后发布;

答案 1 :(得分:-1)

if (strtotime($paymentDate->format('m/y')) >= strtotime($expiryDate->format('m/y'))){}