Rails:TimeWithZone比较不同区域的时间

时间:2014-04-29 17:26:52

标签: ruby-on-rails timezone

假设我在东部时间运行调度系统,它处理多个时区的事件。它有一个方法:

def starts_today?
  event.start_time <= Time.current.end_of_day
end

你如何设置它以使starts_today?方法对事件的本地时区准确?

2 个答案:

答案 0 :(得分:2)

所以,要转换为东部时区的当地时间

def starts_today?
  event.start_time <= Time.current.end_of_day.in_time_zone("Eastern Time (US & Canada)")
end

答案 1 :(得分:1)

您也可以使用当地时间

Time.now.getlocal.zone

Time.zone.name

如果你想要所有时区都使用这个

的ActiveSupport :: TimeZone.zones_map.values.collect {| Z | z.name} .compact

http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html

http://www.ruby-doc.org/core-2.1.1/Time.html