CakePHP 3 Формат даты Выпуск - PullRequest
0 голосов
/ 04 июля 2018

Я исследовал везде, но не мог найти решение,
В базе данных я использую поле 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');

но это тоже не работает.

Пожалуйста, помогите

1 Ответ

0 голосов
/ 04 июля 2018

в вашем bootstrap.php вы можете установить формат по умолчанию, который вы хотите при преобразовании Date и FrozenDate в строку в Json

см. Руководство здесь и API здесь

обратите внимание, что вы должны использовать строковые шаблоны, описанные здесь , а не шаблоны, которые вы обычно используете с date()

поэтому ваш код должен быть

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