code: def _next_opening_time(self, other):
          
          if not self.next_bday.onOffset(other):
              other = other + self.next_bday
          else:
              if self.n >= 0 and self.start < other.time():
                  other = other + self.next_bday
              elif self.n < 0 and other.time() < self.start:
                  other = other + self.next_bday
          return datetime(other.year, other.month, other.day,
                          self.start.hour, self.start.minute)
docs: If n is positive, return tomorrow's business day opening time.
          Otherwise yesterday's business day's opening time.
  
          Opening time always locates on BusinessDay.
          Otherwise, closing time may not if business hour extends over midnight.