0

我有一个 Rails 视图,其中向用户显示了一个下拉列表,显示小时“00:00”、“01:00”等。

一旦用户选择了这个小时,它就会与其他一些字段一起存储在模型中。

我的应用程序在 UTC+2 时区工作(我已设置config.time_zone = 'Jerusalem')。
在从视图到模型的路径上处理这个时间时,我在哪个阶段与时区相关?如果我使用 eg DateTime.strptime("10:00", "%H:%M").in_time_zone(Time.zone),那么我会在 '12:00' 得到一个时间 - 而我真正想要的是数据库以 UTF 存储(这应该是08:00当网站的其余部分使用当地时间时。

4

1 回答 1

0

You can use TZInfo ruby library http://tzinfo.rubyforge.org and convert your time with following method

def local_to_utc(date, time_zone)
  begin
    unless time_zone.nil?
      tz = TZInfo::Timezone.get(time_zone)
      return tz.local_to_utc(date)
    end
  rescue 
    return nil
  end
end
于 2012-12-27T00:06:56.613 回答