我正在尝试确定一个日期是否在另一个日期之后或相同。但是只看月份/年份,我需要从比较中排除日期。
$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";
}
为什么这与这一说法相呼应?我比较错了吗?我以为你可以这样比较日期。
马克·贝克在问题下方的评论中回答了这个问题。
首先比较年份,然后比较月份:
if ($paymentDate->format('ym') >= $expiryDate->format('ym')) {}
否则 12/2014 在 01/2015 之后;
试试
if (strtotime($paymentDate->format('m/y')) >= strtotime($expiryDate->format('m/y'))){}