laravel数据库timestamp时区显示问题

在设置mysql数据库表的时候,如果日期字段使用的是timestamp

那么在显示的时候可能出现时区,如何转换

为了修改这个格式,我在Model里做了配置:

```
protected $casts = [
'created_at' => 'datetime:Y-m-d H:i:s',
'updated_at' => 'datetime:Y-m-d H:i:s',
];
```

```
/**
* 为数组 / JSON 序列化准备日期。
*
* @param \DateTimeInterface $date
* @return string
*/
use DateTimeInterface;
protected function serializeDate(DateTimeInterface $date)
{
return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
}

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

```

碰到无效的情况

只需要在输出的时候转化一下

```
'created_at' =>$this->created_at?$this->created_at->format('Y-m-d H:i'):''
```

    A+
发布日期:2023年04月29日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: