created_at 和 updated_at 保存为明天

created_at and updated_at saving as tomorrow

在我们的 Rails 应用程序中创建对象时,它会提前 7 小时 (PDT) 保存在 Postgres 数据库中。看起来它正在将所有内容保存到 UTC。这真的搞砸了分析图等。

我在 application.rb

中设置了这些
config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = :local

我怎样才能将 save/timestamp 的所有内容都转到 PDT 时区?

它(可能)保存在您服务器的时区,并且独立于您的代码。 IE,这是你的数据库设置 created_at/updated_at 日期时间(默认为 UTC)

您需要做的是让您的分析适用于 UTC 并转换为 PDT,而不是相反。这为您提供了一个完全独立于托管位置、夏令时变化、用户所在位置等的解决方案。

考虑一个简单的情况,如果您有多个时区的用户。 EST 的人会讨厌你西海岸 PDT 的人,因为他们总是要翻译它 ;)

总而言之,使用和使用 UTC - 它是...通用的!