【发布时间】:2013-10-07 19:45:16
【问题描述】:
我正在创建一个需要存储日期和时间的应用程序。目前,我正在创建这样的时间:
Time.strptime("2013-12-08 04:15pm PST", "%Y-%m-%d %H:%M%P %Z")
=> 2013-12-09 00:15:00 +0000
我很乐意将其存储在数据库中,但我的问题是关于夏令时。当我这样做时:
Time.strptime("2013-06-08 04:15pm PST", "%Y-%m-%d %H:%M%P %Z")
=> 2013-06-09 00:15:00 +0000
它似乎没有针对夏令时进行自我调整。我这样想错了吗?我怎么知道当我创建一个具有时间属性的对象时,我将能够在未来检索到那个确切的时间?
我怎样才能最好地从用户那里读取字符串日期,将它以 utc 格式保存在数据库中,然后在以后检索它以准确显示而不用担心 DST?
我知道很多答案都说在rails中使用config.time_zone,但我的应用程序最终将是跨时区的。
【问题讨论】:
-
我不确定您要达到什么目的,但假设
user1在某个时区发布内容,user2在另一个时区阅读。您可以使用user1时区节省时间,只需将其标准化为 +0。无论哪种方式,您都需要根据user2配置手动调整时区以显示给他。我不确定是否有更好的方法来自动处理时区。