当在我们的Rails应用程序中创建对象时,它比我们的时间(PDT)提前7小时保存在Postgres DB中。看起来它把所有东西都保存到UTC了。这真的搞砸了分析图,等等。
我在application.rb中设置了这些

config.time_zone = 'Pacific Time (US & Canada)'
config.active_record.default_timezone = :local

如何将所有内容保存/时间戳保存到PDT时区?

最佳答案

它(可能)保存在服务器的时区,并且与代码无关。也就是说,是您的数据库设置了created_at/updated_at date time(默认为UTC)
您需要做的是使您的分析与UTC一起工作,并转换为PDT,而不是相反。这为您提供了一个完全独立于您所在位置、夏令时更改、用户所在位置等的解决方案。
考虑一个简单的例子,如果你有多个时区的用户。科技部的人会恨你西海岸PDT的人因为他们总是要翻译它;)
总之,使用和使用UTC-它。。。万能的!

10-06 12:08