CakePHP 3日期格式问题

时间:2018-07-04 07:01:33

标签: date cakephp-3.2

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

[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');

但是这也不起作用。

请帮助

1 个答案:

答案 0 :(得分:2)

在您的bootstrap.php中,可以设置将DateFrozenDate转换为Json中的字符串时所需的默认格式

请参见手册here和api here

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

因此您的代码应为

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