【发布时间】:2019-10-09 08:45:03
【问题描述】:
在应用程序中,我在表中有 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
所以在上面创建的值中缺少仅显示时间的日期。
以下是上述代码的 Bootstrap 配置
\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(); 类型::build('timestamp')->useImmutable();
如果我更改,此问题适用于表中的所有日期时间列
\Cake\I18n\FrozenTime::setJsonEncodeFormat('HH:mm:ss');
到
\Cake\I18n\FrozenTime::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');
然后时间列开始显示日期,请告诉我如何解决这个问题
【问题讨论】:
-
您要么需要手动格式化,要么为
TIME列使用自定义类型,这样您就不必修改用于DATETIME列的Time/FrozenTime,请参阅 stackoverflow.com/questions/30960843/… 和 github.com/cakephp/cakephp/issues/13440。
标签: datetime cakephp cakephp-3.0