在数据库跟拿出来的时间不对

时间对不上,相差几个小时,一开始以为是时区的问题,但时区是没问题

数据库的时区设置失败?

一个路过的小白
chenvle
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

上次遇到过,在 baseModel 里面加了这个,然后去掉了 $casts 就好了

public function serializeDate(DateTimeInterface $dateTime)
{
        return $dateTime->format('Y-m-d H:i:s');
}
5个月前 评论
chenvle (楼主) 5个月前
讨论数量: 7

走mysql直接查询的话,是没有问题的吧?

5个月前 评论
chenvle (楼主) 5个月前
cheer (作者) 5个月前

php 时区可能没问题 数据库时区有没有问题呢 连接数据库的navicat 时区有没有问题呢 都要排查一遍过去

5个月前 评论
chenvle

file 的确是mysql的时区有问题

5个月前 评论

上次遇到过,在 baseModel 里面加了这个,然后去掉了 $casts 就好了

public function serializeDate(DateTimeInterface $dateTime)
{
        return $dateTime->format('Y-m-d H:i:s');
}
5个月前 评论
chenvle (楼主) 5个月前

存时间戳 类型unsigned int(11), 是不是不用考虑mysql时区?

5个月前 评论
mengdodo 5个月前

修改app配置文件就行啦

5个月前 评论
chenvle (楼主) 5个月前

更改下config/app.php文件中的‘timezone’=>'PRC'

file

5个月前 评论
chenvle (楼主) 5个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!