ActiveSupport::TimeWithZone を使うのが便利。active_support/time を require する。
2.1.1 :001 > require 'active_support/time' => true
UCT 時刻を America/Chicago 時刻に変換してみる。
2.1.1 :002 > t = Time.now.utc => 2014-11-16 11:14:17 UTC 2.1.1 :003 > tc = t.in_time_zone('America/Chicago') => Sun, 16 Nov 2014 05:14:17 CST -06:00
tc のクラスは Time ではなくて、ActiveSupport::TimeWithZone。
2.1.1 :004 > tc.class => ActiveSupport::TimeWithZone
Time と比較もできる。
2.1.1 :005 > t == tc => true
TimeZone が違うと時刻表示は当然違うけど、UTC に直すと同じ時刻なので true になる。