CakePHP3.7需要mysql时间进行格式化,但不需要datetime

CakePHP3.7需要mysql时间进行格式化,但不需要datetime,datetime,cakephp,cakephp-3.0,Datetime,Cakephp,Cakephp 3.0,在应用程序中,表中有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

在应用程序中,表中有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'); \Cake\I18n\Date::setJsonEncodeFormat('yyyy-MM-dd'); \Cake\I18n\FrozenTime::setJsonEncodeFormat('HH:mm:ss'); \Cake\I18n\Time::setJsonEncodeFormat('HH:mm:ss')
类型::build('time')->useImmutable(); 类型::build('date')->useImmutable(); 类型::build('datetime')->useImmutable(); Type::build('timestamp')->useImmutable()

如果我更改,此问题适用于表中的所有Datetime列

\Cake\I18n\FrozenTime::setJsonEncodeFormat('HH:mm:ss')

\Cake\I18n\FrozenTime::setJsonEncodeFormat('yyyy-MM-dd HH:MM:ss')

然后时间列开始显示日期,请告诉我如何解决此问题检查此示例:

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
检查此示例:

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

您需要手动设置格式,或者为
TIME
列使用自定义类型,这样您就不必修改用于
DATETIME
列的
TIME/FrozenTime
,请参见和。您需要手动设置格式,或者为
TIME
列使用自定义类型,因此,您不必修改用于
DATETIME
列的
Time/FrozenTime
,请参见和。这需要在使用上述值的每段代码中完成,我需要Cakephp返回预期值的解决方案。因此,不需要对控制器/视图进行任何更改。这需要在使用上述值的每段代码中进行,我需要Cakephp返回预期值的解决方案。这样就不需要更改控制器/视图。