docs: def when(self):
          """
          A string describing when the event occurs (in the local time zone).
          """
          offset   = 0
          timeFrom = dateFrom = timeTo = dateTo = None
          fromDt   = self._getFromDt()
          if fromDt is not None:
              offset = timezone.localtime(fromDt).toordinal() - fromDt.toordinal()
              dateFrom, timeFrom = getLocalDateAndTime(fromDt.date(), self.time_from,
                                                       self.tz, dt.time.min)
              daysDelta = dt.timedelta(days=self.num_days - 1)
              dateTo, timeTo = getLocalDateAndTime(fromDt.date() + daysDelta,
                                                   self.time_to, self.tz)
          if dateFrom == dateTo:
              retval = _("{repeat} {atTime}").format(
                      repeat=self.repeat._getWhen(offset),
                      atTime=timeFormat(timeFrom, timeTo, gettext("at ")))
          else:
              localNumDays = (dateTo - dateFrom).days + 1
              retval = _("{repeat} {startFinishTime}").format(
                      repeat=self.repeat._getWhen(offset, localNumDays),
                      startFinishTime=timeFormat(timeFrom, timeTo,
                                                 prefix=gettext("starting at "),
                                                 infix=gettext("finishing at")))
          return retval.strip()