我正在尝试检查index.ctp
中的日期是否晚于一周前:
(((!isset($task->date_end) || is_null($task->date_end))?
strotime('now') : $task->date_end) > strtotime('-1 week'))
但是我收到此错误:
Cake \ I18n \ FrozenTime类的对象无法转换为int
要检查数据库中的日期是否有问题,我将它们全部更改为:2019-01-02 05:06:00.000000
答案 0 :(得分:2)
当您将非整数与整数进行比较时,PHP的类型杂耍将尝试将前者转换为整数,并且FrozenTime
对象不能转换为整数。
例如,可以完全使用日期对象,并使用它们提供的比较方法来避免这种脆弱的构造。
$result = true;
if ($task->date_end !== null) {
$lastWeek = \Cake\I18n\Time::now()->subWeek(1);
$result = $task->date_end->gt($lastWeek);
}
另请参见