# File lib/ice_cube/time_util.rb, line 44
    def self.match_zone(input_time, reference)
      return unless time = ensure_time(input_time, reference)
      time = if reference.respond_to? :time_zone
               time.in_time_zone(reference.time_zone)
             else
               if reference.utc?
                 time.getgm
               elsif reference.zone
                 time.getlocal
               else
                 time.getlocal(reference.utc_offset)
               end
             end
      (Date === input_time) ? beginning_of_date(time, reference) : time
    end