def round_to_closest_hour(time_data: pendulum.DateTime) -> pendulum.DateTime: if time_data.minute == 0: return time_data elif time_data.minute > 30: return time_data.add(minutes=60 - time_data.minute) else: return time_data.subtract(minutes=time_data.minute)
def create_dict_points(self, id: int, end_time: DateTime) -> Dict[datetime, DataDouble]: point_dict_by_day: Dict[datetime, DataDouble] = dict() try: for i in range(0, settings.BALANCE_RECALC_DEEP): point_dict_by_day[end_time] = DataDouble(id, 0.0, end_time, 0) end_time = end_time.subtract(days=1) except Exception as e: self.__logger.error(f'_create_dict_points {e}') return point_dict_by_day
def gen_datetime_list(t: pendulum.DateTime, days: int = 6): """根据日期和天数生成日期列表""" return [t.subtract(days=i) for i in range(days, -1, -1)]