Anu*_*TBE 2 datetime cakephp cakephp-3.0
我有一个valid_till类型的属性DATE.
现在我想要做的是valid_till从今天开始比较.
$couponCheck = $this->Coupons->find('all', [
'conditions' => [
'coupon_code' => $couponCode
]
]);
if ($couponCheck->count() === 1) {
$coupon = $couponCheck->first();
if ($coupon->valid_till >= isToday()) {
echo 'Coupon is Valid';
} else {
echo 'Coupon is Expired';
}
} else {
echo 'This is not a valid coupon code';
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我怎么能这样做?
valid_till应该已经是一个日期/时间对象,这取决于你的CakePHP版本和配置,默认情况下要么\Cake\I18n\Time,\Cake\I18n\Date或\Cake\I18n\FrozenDate由碳或Chronos的支持.
如果你在CakePHP> = 3.2,那么你应该有一个\Cake\I18n\Date或一个\Cake\I18n\FrozenDate对象,你应该能够简单地检查有效性isPast(),就像
if (!$coupon->valid_till->isPast()) {
echo 'Coupon is Valid';
} else {
echo 'Coupon is Expired';
}
Run Code Online (Sandbox Code Playgroud)
对于早期版本,您今天也必须检查,例如
!$coupon->valid_till->isPast() || $coupon->valid_till->isToday()
Run Code Online (Sandbox Code Playgroud)
也可以看看