docs: def parse_time_range(start_dt, end_dt):
      """
      Convert the start/end datetimes specified by the user, specifically:
      - truncate any minutes/seconds
      - for a missing end time, use start + 24 hours
      - for a missing start time, use end - 24 hours
      - for missing start and end, use the last 24 hours
      """
      now = datetime.now()
  
      if start_dt and not end_dt:
          end_dt = now
  
      elif end_dt and not start_dt:
          start_dt = _EARLIEST_DATE
  
      elif not start_dt and not end_dt:  # last 24 hours
          end_dt = now
          start_dt = end_dt - timedelta(days=1)
  
      return tuple(map(truncate_hour_fraction, (start_dt, end_dt)))