【问题标题】:Changing default datetime format in Cakephp 3在 Cakephp 3 中更改默认日期时间格式
【发布时间】:2016-08-01 10:22:53
【问题描述】:

我正在使用 Cake Crud Api 插件并烘焙所有模型。

json响应中的日期时间格式是这样的:

"created": "2016-08-01T08:49:11+0000"

我希望它看起来像一个正常的数据时间:

"created": "2016-08-01 08:49:11"

我已尝试设置应用程序范围:

Time::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');

没有运气,而且我在 Crud 插件中搜索了任何时间参考,但我还没有找到默认 ajax 格式的来源。

有什么想法吗?谢谢。

【问题讨论】:

  • 请务必提及您的准确 CakePHP 版本 (x.x.x)!自 CakePHP 3 的初始版本以来,关于日期时间的内容已经发生了相当多的变化。另外,您是否使用不可变的日期/时间对象 (check your bootstrap)?
  • @ndm 我使用的是不可变的日期/时间,我的 CakePHP 版本是 ~3.2

标签: php cakephp cakephp-3.0


【解决方案1】:

如果有人遇到同样的问题,只需将其添加到您的应用控制器:

public function initialize()
{
    parent::initialize();

    Time::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');  // For any mutable DateTime
    FrozenTime::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');  // For any immutable DateTime
    Date::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');  // For any mutable Date
    FrozenDate::setJsonEncodeFormat('yyyy-MM-dd HH:mm:ss');  // For any immutable Date

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    相关资源
    最近更新 更多