将开始和结束时间聚合成5分钟间隔。
示例代码:
timestamps = [('2022-07-01 09:03:00', '2022-07-01 09:15:00'), ('2022-07-01 09:25:00', '2022-07-01 09:40:00'), ('2022-07-01 09:45:00', '2022-07-01 09:57:00')]
aggregated_times = []
for start, stop in timestamps:
# 转换为datetime对象
start_time = datetime.datetime.strptime(start, '%Y-%m-%d %H:%M:%S')
stop_time = datetime.datetime.strptime(stop, '%Y-%m-%d %H:%M:%S')
# 计算每个时间的分钟数
start_minute = start_time.minute
stop_minute = stop_time.minute
# 将开始和结束时间调整为5分钟间隔
start_time = start_time - datetime.timedelta(minutes=start_minute % 5)
stop_time = stop_time + datetime.timedelta(minutes=(5 - stop_minute % 5) % 5)
# 加入聚合列表
aggregated_times.append((start_time.strftime('%Y-%m-%d %H:%M:%S'),
stop_time.strftime('%Y-%m-%d %H:%M:%S')))
print(aggregated_times) # 输出:[('2022-07-01 09:00:00', '2022-07-01 09:20:00'), ('2022-07-01 09:25:00', '2022-07-01 09:45:00'), ('2022-07-01 09:45:00', '2022-07-01 10:00:00')]