我有一个字符串"3:30 PM 2014-03-15 Eastern Time (US & Canada)"
,我想将其转换为DateTime并存储在我的数据库中。Rails给出了跨DST边界strftime的错误时间
这是非常简单的:
str = "3:30 PM 2014-03-15 Eastern Time (US & Canada)"
event.starts_at = DateTime.strptime(str, "%l:%M %p %Y-%m-%d %Z")
会创建一个与正确的时区一个DateTime。但是,如果我在事件保存到数据库中,然后读出来了,像这样:
e.starts_at.in_time_zone("Eastern Time (US & Canada)")
.strftime("%l:%M %p") => #outputs 4:30 PM, when I want it to say 3:30 PM
输出给错误的时间(好像是因为它是在调整了DST)!我能做些什么来解决这个问题?
我结束了使用现在可用的'Time.zone.parse',但是由于DST边界已经通过,我还没有彻底测试过它。 – you786