Cakephp 3.7 Нужно mysql Время отформатировать, но не datetime - PullRequest
1 голос
/ 09 октября 2019

В приложении у меня есть 3 поля в таблице

created(DateTime)
offer_start_time(time) 
offer_start_date(date)

, имеющие значение соответственно

2019-10-06 06:01:21, 
00:15:00, 
2019-10-06

Когда я выбираю запись из базы данных, я получаю значения ниже

[created] => 06:01:21 
[offer_start_time] => 00:15:00
[offer_start_date] => 2019-10-06

Таким образом, в созданном выше значении отсутствует дата, показывающая только время.

Ниже приведена конфигурация начальной загрузки для приведенного выше кода

\ Cake \ I18n \ FrozenDate :: setJsonEncodeFormat ('yyyy-MM-dd');\ Пирог \ I18N \ Date :: setJsonEncodeFormat (ГГГГ-ММ-дд ');\ Cake \ I18n \ FrozenTime :: setJsonEncodeFormat ( 'HH: мм: сс');\ Cake \ I18n \ Time :: setJsonEncodeFormat ('ЧЧ: мм: сс');
Type :: build ('time') -> useImmutable ();Тип :: билд ( 'дата') -> useImmutable ();Тип :: билд ( 'DATETIME') -> useImmutable ();Type :: build ('timestamp') -> useImmutable ();

Эта проблема применима для всех столбцов Datetime в таблицах, если я изменю

\ Cake\ I18n \ FrozenTime :: setJsonEncodeFormat ('ЧЧ: мм: сс');

до

\ Cake \ I18n \ FrozenTime :: setJsonEncodeFormat ('гггг-ММ-dd ЧЧ: мм: сс ');

, затем время начала отображения даты в колоннах. Пожалуйста, дайте мне знать, как это исправить

1 Ответ

0 голосов
/ 10 октября 2019

Проверьте этот пример:

created(DateTime)//use this  $created= date('Y-m-d H:m:s'); /// [created] => 2019-10-06 06:01:21
offer_start_time(time)//use this $offer_start_time = date(H:m:s'); /// [offer_start_time ] => 06:01:21
offer_start_date(date)//use this $offer_start_date = date('Y-m-d'); /// [offer_start_date] => 2019-10-06
...