保存到数据库时为什么"created_at"错误的时间?

Ged*_*nas 9 ruby-on-rails

当我在生产服务器上检查Rails的时间时

$ rails console production
$ Time.now # good time
Run Code Online (Sandbox Code Playgroud)

关于Mysql的制作

mysql > select now(); # good time
Run Code Online (Sandbox Code Playgroud)

但是在我将任何记录保存到数据库之后,"created_at"和"updated_at"字段距离当前时间为-2小时.这有什么不对?

我在时间更改后重新启动了mysql,nginx.我接下来该怎么办?Mysql的Rails是否定义了这些字段的时间?

Bro*_*rec 10

那是因为数据保存在数据库中的时区是UTC.如果要将其更改为本地,请设置application.rb:

config.active_record.default_timezone = :local
Run Code Online (Sandbox Code Playgroud)

如果你还没有,你应该明确声明你的时区:

config.time_zone = 'Vilnius'
Run Code Online (Sandbox Code Playgroud)