class ActiveSupport::TimeZone

def seconds_to_utc_offset(seconds, colon = true)

ActiveSupport::TimeZone.seconds_to_utc_offset(-21_600) # => "-06:00"

Time#utc_offset) and turns this into an +HH:MM formatted string.
Assumes self represents an offset from UTC in seconds (as returned from
def seconds_to_utc_offset(seconds, colon = true)
  format = colon ? UTC_OFFSET_WITH_COLON : UTC_OFFSET_WITHOUT_COLON
  sign = (seconds < 0 ? "-" : "+")
  hours = seconds.abs / 3600
  minutes = (seconds.abs % 3600) / 60
  format % [sign, hours, minutes]
end