如何解决检查一个日期是否是另一个日期?
我正在尝试检查一个日期时间是否在另一个日期时间之后,但是它似乎不起作用。我只是在使用>=
运算符,但是没有按预期运行?
代码如下:
public function hasCompleted() {
return Carbon::parse($this->withdrawable_at) >= Carbon::Now();
}
我正在使用Carbon包,这是一个here找到的DateTime PHP库。
对于以下数据,它似乎返回true,但不应返回。
2020-11-13 02:59:04,2020-11-12 15:17:31
解决方法
碳有自己的方法,称为isAfter和isBefore
public function hasCompleted() {
return Carbon::parse($this->withdrawable_at)->isAfter(Carbon::now());
}
,
您可以使用[datesindex:]
,>
,>=
或<
比较<=
对象,因此它也可以完美地与DateTime
实例一起使用:
Carbon
输出var_dump(Carbon::parse('2020-11-13 02:59:04') >= Carbon::parse('2020-11-12 15:17:31'));
var_dump(Carbon::parse('2020-11-12 15:17:31') >= Carbon::parse('2020-11-13 02:59:04'));
,然后输出true
(在这种情况下,因为13> 12),这是预期的行为。最新日期被认为大于最早的日期。我觉得它很直观,但是如果对您而言不够明确,则可以使用false
/ isAfter
,请注意,这些方法仅在内部使用isBefore
和>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。