If you take an instance of time1 and call utc_offset on it, you will get the amount of time offset from UTC in seconds. Combine this with utc_offset of time2 , enter some subtraction, and you should get the time difference in seconds. From there, you can make a conversation at any point in time that you like.
irb(main):020:0> time1 = Time.zone.now.in_time_zone("EST") => Sun, 09 Jun 2013 07:11:46 EST -05:00 irb(main):021:0> time2 = Time.zone.now.in_time_zone("MST") => Sun, 09 Jun 2013 05:11:49 MST -07:00 irb(main):022:0> time_difference_in_seconds = time2.utc_offset - time1.utc_offset => -7200 irb(main):025:0> (time_difference_in_seconds/60/60).abs => 2
source share