Laravel 优雅解决接口数据带T Z格式问题(日期序列化)

Song2765 次浏览0个评论2020年06月22日
在我们使用Laravel开发API接口过程中,返回的JSON数据时间格式带有TZ,格式如下: { "id":1, "created_at":"2020-06-08T07:31:02.000000Z", "updated_at":"2020-06-20T10

在我们使用Laravel开发API接口过程中,返回的JSON数据时间格式带有TZ,格式如下:

{
    "id": 1,
    "created_at": "2020-06-08T07:31:02.000000Z",
    "updated_at": "2020-06-20T10:03:36.000000Z"
}

一、TZ是什么?

T表示分隔符,Z表示的是UTCUTC:世界标准时间,在标准时间上加上8小时,即东八区时间,也就是北京时间。

二、如何解决?

如果你希望继续保持之前所用的格式,你可以重写模型的serializeDate方法:

<?php

namespace App\Models;
use DateTimeInterface;

......

protected function serializeDate(DateTimeInterface $date)
{
    return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
}

具体参考文档:Laravel 日期序列化

请登录后评论
    当前暂无评价,快来发表您的观点吧...
    公告提示
    本站主要用于学习交流Laravel技术,分享Laravel优秀案例;同时非常欢迎大家投稿哦!如果有招聘信息也可以联系我我帮忙发布哦!