简体   繁体   中英

CakePHP 3 Date format Issue

I researched everywhere but could not find the solution,
In the database, I am using from_date field as date (2018-07-07) type But when I find the data then it auto converts in from_date to 'Cake\\I18n\\Date Object'

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

I what this as

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

I know we can covert this by

$obj->from_date->format('Y-M-D');

but the data is coming in an array of 10000 loops, this is not a good idea to convert in the loop. I also tried this in bootstrap.php

Type::build('date')->useLocaleParser()->setLocaleFormat('y-m-d');

but this is also not working.

Please help

in your bootstrap.php you can set the default format you want when converting Date and FrozenDate to string in Json

see the manual here and the api here

note that you have to use string patterns described here and not the patterns you usually use with date()

so your code should be

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM