下面是一个Python代码示例,展示了如何根据按小时定义的开始和结束时间戳来分割持续时间:
from datetime import datetime, timedelta
def split_duration(start_time, end_time):
duration = end_time - start_time
hours = duration.total_seconds() // 3600 # 将持续时间转换为小时数
splits = []
for i in range(int(hours)):
split_start = start_time + timedelta(hours=i) # 分割的开始时间
split_end = split_start + timedelta(hours=1) # 分割的结束时间
splits.append((split_start, split_end))
return splits
# 示例用法
start_time = datetime(2022, 1, 1, 8) # 开始时间:2022年1月1日上午8点
end_time = datetime(2022, 1, 1, 12) # 结束时间:2022年1月1日中午12点
splits = split_duration(start_time, end_time)
for split in splits:
print(split[0], split[1]) # 打印每个分割的开始时间和结束时间
运行上述代码,将得到以下输出结果:
2022-01-01 08:00:00 2022-01-01 09:00:00
2022-01-01 09:00:00 2022-01-01 10:00:00
2022-01-01 10:00:00 2022-01-01 11:00:00
2022-01-01 11:00:00 2022-01-01 12:00:00
该代码将开始时间和结束时间之间的持续时间按照每小时进行分割,并返回一个包含每个分割的开始时间和结束时间的列表。
上一篇:按小时的直方图