PHP中使用DateTime类的日期比较问题
我创建了一个函数来比较日期:PHP中使用DateTime类的日期比较问题,php,datetime,Php,Datetime,我创建了一个函数来比较日期: public function checkExpiredDate($cardDate) : bool { $currentDate = new DateTime(); $creditCardDate = new DateTime("{$cardDate->card_expiryYear}-{$cardDate->card_expiryMonth}-*last day from the month*"); echo $cred
public function checkExpiredDate($cardDate) : bool
{
$currentDate = new DateTime();
$creditCardDate = new DateTime("{$cardDate->card_expiryYear}-{$cardDate->card_expiryMonth}-*last day from the month*");
echo $creditCardDate->format('Y-m-d'); exit();
return $creditCardDate->getTimestamp() < $currentDate->getTimestamp() ?? true;
}
公共函数checkExpiredDate($cardDate):bool
{
$currentDate=新的日期时间();
$creditCardDate=新的日期时间(“{$cardDate->card_expiryYear}-{$cardDate->card_expiryMonth}-*从月份开始的最后一天*”;
echo$creditCardDate->格式('Y-m-d');退出();
返回$creditCardDate->getTimestamp()<$currentDate->getTimestamp()??true;
}
我只有
月
和年
,没有日
。我只需要使用月
和年
以及日期时间
类将今天的日期与该日期进行比较。我该怎么做?有没有办法使用DateTime类从月份和年份中获取最后一天?如果有人使用DateTime
,我的函数应该可以工作。将day设置为每月的第一天,然后修改为最后一天
$creditCardDate = new DateTime("{$cardDate->card_expiryYear}-{$cardDate->card_expiryMonth}-1");
$creditCardDate->modify('last day of this month');
当然,在这里不使用
DateTime
更容易:
return $cardDate->card_expiryYear . $cardDate->card_expiryMonth <= date('Ym');
您好,是否可以选择使用date()类?如果只有月份和年份可供比较,为什么需要月的最后一天?
return sprintf('%d%02d', $cardDate->card_expiryYear, $cardDate->card_expiryMonth) <= date('Ym');
$creditCardDate->modify('last day of this month');