Rails: convert UTC DateTime to another time zone

Drew Johnson picture Drew Johnson · Apr 23, 2010 · Viewed 84.6k times · Source

In Ruby/Rails, how do I convert a UTC DateTime to another time zone?

Answer

mckeed picture mckeed · Apr 23, 2010
time.in_time_zone(time_zone)

Example:

zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)

or just

Time.now.in_time_zone("Central Time (US & Canada)")

You can find the names of the ActiveSupport time zones by doing:

ActiveSupport::TimeZone.all.map(&:name)
# or for just US
ActiveSupport::TimeZone.us_zones.map(&:name)