docs: def getAwareDatetime(date, time, tz, timeDefault=dt.time.max):
      """
      Get a datetime in the given timezone from date and optionally time.
      If time is not given it will default to timeDefault if that is given
      or if not then to the end of the day.
      """
      if time is None:
          time = timeDefault
      datetime = dt.datetime.combine(date, time)
      # arbitary rule to handle DST transitions:
      # if daylight savings causes an error then use standard time
      datetime = timezone.make_aware(datetime, tz, is_dst=False)
      return datetime