假设我有一个在东部时间运行的调度系统,它处理多个时区的事件。它有一个类似的方法:
def starts_today?
event.start_time <= Time.current.end_of_day
end
您将如何设置starts_today?
方法以使其精确到事件的本地时区?
因此,要转换为本地时间,即东部时区
def starts_today?
event.start_time <= Time.current.end_of_day.in_time_zone("Eastern Time (US & Canada)")
end
您也可以使用本地时间
Time.now.getlocal.zone
时区名称
如果你想要所有时区,请使用这个
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