code: def _calc_timestamps(self, st_time, end_time):
          
          # calculate based on minutes
          # I have to convert the object to DateTime because of how Dynamo
          # works: https://github.com/DynamoDS/Dynamo/issues/6683
          # Do not modify this line to datetime
          curr = datetime(st_time.year, st_time.month, st_time.day, st_time.hour,
                          st_time.minute, self.is_leap_year)
          end_time = datetime(end_time.year, end_time.month, end_time.day,
                              end_time.hour, end_time.minute, self.is_leap_year)
  
          while curr <= end_time:
              if self.is_possible_hour(curr.hour + (curr.minute / 60.0)):
                  time = DateTime(curr.month, curr.day, curr.hour, curr.minute,
                                  self.is_leap_year)
                  self._timestamps_data.append(time.moy)
              curr += self.minute_intervals
  
          if self.timestep != 1 and curr.hour == 23 and self.is_possible_hour(0):
              # This is for cases that timestep is more than one
              # and last hour of the day is part of the calculation
              curr = end_time
              for i in list(xrange(self.timestep))[1:]:
                  curr += self.minute_intervals
                  time = DateTime(curr.month, curr.day, curr.hour, curr.minute,
                                  self.is_leap_year)
                  self._timestamps_data.append(time.moy)
docs: Calculate timesteps between start time and end time.
  
          Use this method only when start time month is before end time month.