created_at 时间比实际时间少 16 小时,但 updated_at 时间却是正确的
今天遇到一个特别奇怪的现象:
当创建一条新记录时,
created_at
和updated_at
时间比实际时间少16个小时,但是,当更新记录时updated_at
时间却是正常的.
环境
阿里云,php7.0.14+mariadb+nginx+php-fpm
现象
当创建一条新记录时,created_at
和 updated_at
时间比实际时间少16个小时,但是,更新或删除时updated_at
、deleted_at
时间却是正常的。服务器中有3套 laravel ,其它2套时间都正常,出问题的这套刚好使用的 repository 。
做过的尝试
1、将出问题的数据库删除并重新创建,问题依然存在 。
2、登录服务器通过命令行查看了 mariadb 系统时间,正常。
3、将 repository 换成传统的 Model 直接操作,问题依然存在。
请问大家有没有遇到同样的情况?
感谢!
看一下数据库表的设计
@ihuanran
我觉得肯定是自己代码的问题 :)
@JobsLong created_at 不是 laravel 自动维护的吗?我代码里面没有进行任何关于 created_at 的操作。
php artisan tinker
进入交互模式,试试Carbon\Carbon::now()
看看输出的时间是什么@leo
时间是正常的。
@yansongda 试一下在工具上用SQL插入看有没问题
@ihuanran 直接在 pma 上插入一条数据,并在
created_at
上写明 2017-01-04 13:50:16 是没有问题的。就像更新数据时 laravel 自动更新 updated_at 字段一样。@yansongda 那就是代码有问题了,虽然我也不知道是什么问题
@ihuanran 感谢关注与支持,打算重新从头开始搞一个测试程序看看结果怎样
时间输出怎么格式化,还有用$table->dateTime('created_at');不用$table->timestamps(); 怎么样laravel对时间自动维护
我也遇到这个问题了,结果是服务器时间慢了 :joy: :joy: :joy: :joy: :joy: :joy: