Laravel 优雅解决接口数据带T Z格式问题(日期序列化)
在我们使用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表示的是UTC。 UTC:世界标准时间,在标准时间上加上8小时,即东八区时间,也就是北京时间。
二、如何解决?
如果你希望继续保持之前所用的格式,你可以重写模型的serializeDate方法:
<?php
namespace App\Models;
use DateTimeInterface;
......
protected function serializeDate(DateTimeInterface $date)
{
return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
}