假设我在东部时间运行调度系统,它处理多个时区的事件。它有一个方法:
def starts_today?
event.start_time <= Time.current.end_of_day
end
你如何设置它以使starts_today?
方法对事件的本地时区准确?
答案 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