Cakephp 3 在frozentime 对象中给出日期和时间字段

ama*_*man 7 php mysql cakephp cakephp-3.0 cakephp-3.2

我正在使用 cakephp 3.2,当我通过查找查询检索数据时,它以这种格式提供日期字段

Array
(
[0] => Cake\I18n\FrozenDate Object
    (
        [date] => 2016-08-01 00:00:00
        [timezone_type] => 3
        [timezone] => UTC
    )
)
Run Code Online (Sandbox Code Playgroud)

和冻结时间中的时间字段

Cake\I18n\FrozenTime Object
(
 [date] => 2016-10-11 10:00:00
 [timezone_type] => 3
 [timezone] => UTC
)
Run Code Online (Sandbox Code Playgroud)

我需要一个完整站点的通用设置或全局解决方案。因此,当我通过从数据库中查找查询获取数据时,它应该以简单格式为我提供日期时间,而没有任何frozendate 对象。

像这样

Array(
 [0] => 2016-08-01
)
Run Code Online (Sandbox Code Playgroud)

aex*_*exl 5

只需调用->format('Y-m-d')您的Cake\I18n\FrozenDate对象。

没有必要Cake\I18n\FrozenDate::setToStringFormat()$this->Time->format()


tar*_*l05 4

在boostrap.php中添加

Cake\I18n\FrozenDate::setToStringFormat('yyyy-MM-dd');
Run Code Online (Sandbox Code Playgroud)

它仍然带有具有相同参数的 forzenDate 对象但是当您在视图中打印时它将打印正确的格式

echo $var->created;  // print: 2016-08-01
Run Code Online (Sandbox Code Playgroud)

日期日期时间格式语法参考