我有一些数据。在数据库mysql 8
上。Created_at字段看起来像2022-06-25 07:44:43.
但是当我获取数据时,它返回
"created_at": "2022-06-25T05:44:43.000000Z"
我已经设置了我的时区从config/app.php法国欧洲为/但时间似乎还晚了两个小时。
在读取过程中,哪种机制会改变该时间?为什么我不能从数据库中得到相同的数据?
下面的代码解决了我的问题,但我只是好奇这个问题。
public function getCreatedAtAttribute($value) {
return Carbon::createFromTimestamp(strtotime($value))
->timezone(env("APP_TIMEZONE"))
->toDateTimeString();
}
数据库服务器的时区设置错误。
如果你在linux下运行
$ sudo timedatectl set-timezone Europe/Paris
或者您需要的时区