gpt4 book ai didi

ruby-on-rails - Time.now 和 Created_at 不同? Ruby on Rails

转载 作者:行者123 更新时间:2023-12-04 01:53:11 25 4
gpt4 key购买 nike

我的网站部署在 heroku 上。 Time.now 将在今天返回,但记录的 created_at 字段(现在创建)将显示明天。我认为这与服务器时间有关?

有没有办法确保它们相同?
最好的事物,
艾略特

更新所以我做了这个“heroku rake time:zones:us”

它给了我:

    * 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”。这将为您提供有关如何获取用于配置的时区名称的说明。

关于ruby-on-rails - Time.now 和 Created_at 不同? Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512450/

25 4 0
文章推荐: compiler-theory - S-attributed 和 L-attributed 语法是什么意思?
文章推荐: javascript -