作者:mobiledu2502919967 | 来源:互联网 | 2022-12-09 10:19
我试图通过PHP的文档来比较2个日期:
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");
var_dump($date1 > $date2); //false
所以现在不比明天大,所以这是假的.现在我有这个:
$date_start = \DateTime::createFromFormat('d/m/Y H:i', '18/07/2018 16:20');
$date_start_format = $date_start->format('d/m/Y H:i');
$date_end = \DateTime::createFromFormat('d/m/Y H:i', '01/08/2018 21:45');
date_end_format = $date_end->format('d/m/Y H:i');
var_dump($date_start_format > $date_end_format); //True
现在,当我试着比较一个古老的约会,明天,就像在例子中,我得到了真实.哪个应该返回false,有人可以解释一下原因吗?
1> AymDev..:
你应该比较DateTime
对象:
var_dump($date_start > $date_end);
# bool(false)
通过比较format()
方法的结果,您将比较字符串,而不是您期望的字符串.
要理解,请逐个字符地比较格式化日期:
18/07/2018 16:20
01/08/2018 21:45
^-- 1 > 0