Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么;创建于;保存到数据库的时间错误?_Ruby On Rails - Fatal编程技术网

Ruby on rails 为什么;创建于;保存到数据库的时间错误?

Ruby on rails 为什么;创建于;保存到数据库的时间错误?,ruby-on-rails,Ruby On Rails,当我在生产服务器中检查Rails上的时间时 $ rails console production $ Time.now # good time 关于Mysql生产 mysql > select now(); # good time 但在我将任何记录保存到数据库后,“created_at”和“updated_at”字段距离当前时间为-2小时。这里怎么了 时间改变后,我重新启动了mysql,nginx。下一步我能做什么?是Mysql的Rails为这些字段定义了时间吗?这是因为您的数据保存在

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

$ rails console production
$ Time.now # good time
关于Mysql生产

mysql > select now(); # good time
但在我将任何记录保存到数据库后,“created_at”和“updated_at”字段距离当前时间为-2小时。这里怎么了


时间改变后,我重新启动了mysql,nginx。下一步我能做什么?是Mysql的Rails为这些字段定义了时间吗?

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

config.active_record.default_timezone = :local
如果您尚未:

config.time_zone = 'Vilnius'

你检查了rails时区?立陶宛有UTC+02:00-正好是你检测到的(无符号)时差。你救了我的命,兄弟。感谢您对我的居住地点进行调查,并解决了我3个多小时以来一直面临的问题:)