code: def Print(self, output_writer):
      
      if self._date_time_ranges:
        for date_time_range in self._date_time_ranges:
          if date_time_range.start_date_time is None:
            end_time_string = date_time_range.end_date_time.CopyToDateTimeString()
            output_writer.Write('\t{0:s} after {1:s}\n'.format(
                date_time_range.time_value, end_time_string))
  
          elif date_time_range.end_date_time is None:
            start_time_string = (
                date_time_range.start_date_time.CopyToDateTimeString())
            output_writer.Write('\t{0:s} before {1:s}\n'.format(
                date_time_range.time_value, start_time_string))
  
          else:
            start_time_string = (
                date_time_range.start_date_time.CopyToDateTimeString())
            end_time_string = date_time_range.end_date_time.CopyToDateTimeString()
            output_writer.Write('\t{0:s} between {1:s} and {2:s}\n'.format(
                date_time_range.time_value, start_time_string,
                end_time_string))
docs: Prints a human readable version of the filter.
  
      Args:
        output_writer (CLIOutputWriter): output writer.