【发布时间】:2018-06-27 18:19:35
【问题描述】:
我有这段代码要比较:
$dateregister = date("d/m/Y", strtotime($register['date']));
if ($dateregister < date('d/m/Y')) {
$class = 'danger';
} else {
$class = '';
}
总是输入 if,但有些日期 ($dateregister) 大于 date(d/m/Y)
【问题讨论】:
-
你正在做一个纯字符串比较。
2/1/1999 > 1/1/2018。如果您真的不想使用 DateTime 类,请通过date('Ymd')进行比较(将其视为 int)。 -
谢谢,我的
dateregister是d/m/Y格式 -
所以?您正在将
$register['date']转换为时间戳,然后将其转换回字符串。并进行字符串比较。$register['date']里面到底是什么?做一个DateTime::createFromFormat,然后使用类方法与今天进行比较。 -
31/01/18 或 310118 > 然后 15/12/18 或 151218,您不应该比较字符串值的日期。只是找个骗子,之前已经回答过很多次了。
标签: php