我有一個字符串"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