CakePHP 3 日期格式问题

CakePHP 3 Date format Issue

我到处研究但找不到解决方案,
在数据库中,我使用 from_date 字段作为 date(2018-07-07) 类型 但是当我找到数据时,它会自动将 from_date 转换为 'Cake\I18n\Date Object'

[from_date] => Cake\I18n\Date Object
        (
            [time] => 2018-07-07T00:00:00+00:00
            [timezone] => UTC
            [fixedNowTime] => 
        )

我这是什么

[from_date] => '2018-07-07'

我知道我们可以通过

来隐藏它
$obj->from_date->format('Y-M-D');

但是数据以 10000 循环的数组形式出现,这不是在循环中转换的好主意。 我也在 bootstrap.php

中尝试过这个
Type::build('date')->useLocaleParser()->setLocaleFormat('y-m-d');

但这也不起作用。

请帮忙

在您的 bootstrap.php 中,您可以设置将 DateFrozenDate 转换为 Json

中的字符串时所需的默认格式

查看手册here and the api here

请注意,您必须使用 here 描述的字符串模式,而不是通常用于 date()

的模式

所以你的代码应该是

\Cake\I18n\FrozenDate::setJsonEncodeFormat('yyyy-MM-dd'); 
\Cake\I18n\Date::setJsonEncodeFormat('yyyy-MM-dd');