我正在使用cakephp 3.2,当我通过查询查询检索数据时,它会以这种格式提供日期字段
Array
(
[0] => Cake\I18n\FrozenDate Object
(
[date] => 2016-08-01 00:00:00
[timezone_type] => 3
[timezone] => UTC
)
)
和冻结时间字段
Cake\I18n\FrozenTime Object
(
[date] => 2016-10-11 10:00:00
[timezone_type] => 3
[timezone] => UTC
)
我需要一个完整网站的通用设置或全局解决方案。因此,当我通过从数据库中查找查询来获取数据时,它应该以简单的格式给出日期时间,而不会有任何冻结对象。
像这样Array(
[0] => 2016-08-01
)
答案 0 :(得分:2)
您还可以使用 TimeHelper 在查看
中格式化日期时间示例强>
echo $this->Time->format(
$YourDateTimeVariable, #Your datetime variable
'Y-MM-d' #Your custom datetime format
);
CakePHP TimeHelper
功能详情为Here
答案 1 :(得分:1)
在boostrap.php中添加
Cake\I18n\FrozenDate::setToStringFormat('yyyy-MM-dd');
仍然带有相同参数的forzenDate对象但是当你在视图中打印时它将打印出正确的格式
echo $var->created;
// print: 2016-08-01
答案 2 :(得分:0)
只需在->format('Y-m-d')
对象上调用Cake\I18n\FrozenDate
。
不需要Cake\I18n\FrozenDate::setToStringFormat()
或$this->Time->format()
答案 3 :(得分:0)
您可以使用内置的 i18nFormat 函数直接以任何自定义日期格式打印日期对象。
$frozenDateObj->i18nFormat('dd-MMM-yyyy');
使用 datetime-syntax 参考进行更多自定义