ruby-on-rails – Time.now&Created_at是不同的? Ruby on Rails

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Time.now&Created_at是不同的? Ruby on Rails前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网站部署在heroku上. Time.now今天将返回,但是创建的record_at字段(现在创建)将会说明它的明天.我假设这跟服务器时间有关系?

有没有办法确保它们是一样的?
最好,
埃利奥特

更新,所以我做了这个“英雄耙机时间:区域:我们”

它给了我:

* UTC -10:00 *
Hawaii

* UTC -09:00 *
Alaska

* UTC -08:00 *
Pacific Time (US & Canada)

* UTC -07:00 *
Arizona
Mountain Time (US & Canada)

* UTC -06:00 *
Central Time (US & Canada)

* UTC -05:00 *
Eastern Time (US & Canada)
Indiana (East)

但是,当我在我的环境中设置config.time_zone =’UTC -05:00’时,应用程序无法启动.有任何想法吗?

解决方法

Rails始终将UTC时间存储在数据库中; created_at字段本身应该被准确地抵消你的时区相对于UTC的变化.

无论何时在应用程序中加载记录,字段都将转换为在environment.rb中指定的时区.它可能有这样的东西:

config.time_zone = 'UTC'

要适时转换到您的时区,您可以将此配置设置更改为与实际时区相匹配的时间.例如:

config.time_zone = 'Central Time (US & Canada)'

要查看可用区域,请在rails目录中发出“rake -D time”.这将给您说明如何获取配置中使用的时区名称.

原文链接:https://www.f2er.com/ruby/266075.html

猜你在找的Ruby相关文章