# File lib/timeliness/parser.rb, line 24 def make_time(time_array, zone_option=nil) return nil unless fast_date_valid_with_fallback(*time_array[0..2]) zone, offset = zone_and_offset(time_array[7]) if time_array[7] value = create_time_in_zone(time_array[0..6].compact, zone || zone_option) value = shift_time_to_zone(value, zone_option) if zone return nil unless value offset ? value + (value.utc_offset - offset) : value rescue ArgumentError, TypeError nil end