在我们的Rails应用程序中创建对象时,它会在我们的时间(PDT)之前7小时保存在Postgres DB中。看起来它将所有内容保存到UTC。这真的搞砸了分析图,等等。
我在 application.rb
中设置了这些设置config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = :local
如何将所有内容保存/时间戳到PDT时区?
答案 0 :(得分:3)
它(可能)保存在服务器的时区,并且与您的代码无关。 IE,它是你的数据库设置created_at / updated_at日期时间(默认为UTC)
您需要做的是让您的分析与UTC一起工作并转换为PDT,而不是相反。这为您提供了一个完全独立于托管位置,夏令时变化,用户所在位置等的解决方案。
考虑如果您有多个时区的用户的简单情况。美国东部时间的某个人会恨你西海岸的PDT人,因为他们总是要翻译它;)
总而言之,使用和使用UTC - 它......通用!