Time.use_zone('Pacific Time (US & Canada)') do
p Time.zone.now
end
我得到以下信息:=> Sun, 14 Apr 2013 20:30:53 PDT -07:00
然而,当我做 Rails Time Zone Select.... 它说-8:00
得很清楚。为什么一个区域是-7,另一个区域是-8?
其他时候,像Hawaii
这样的时区-10:00
不会偏移一个小时。
我认为这与 DST 有关,但我更好奇这是否意味着它工作正常或不正确,还有我需要做的其他事情。
最终我在日期选择器中使用它,我发现当我使用Time.zone.parse
(连同过滤器周围的时区)时,它会将所有内容偏移 1 小时。
谢谢
编辑
这是我刚刚在另一段代码中遇到的类似问题
2.0.0-p0 :006 >
2.0.0-p0 :006 > u.meetups.in_future.first.meetup_time
Meetup Load (0.4ms) SELECT `meetups`.* FROM `meetups` WHERE `meetups`.`user_id` = 1 AND (meetup_time >= '2013-04-23 04:46:48') ORDER BY meetup_time ASC LIMIT 1
=> Tue, 23 Apr 2013 05:43:00 UTC 00:00
2.0.0-p0 :007 >
请注意与 where 子句相比结果的差异。
编辑
它似乎适用于 CST,但 PST 关闭了约 1 小时?我觉得这都是同一个问题,我只是缺少一块拼图。