2022-03-01 00:00:00 20
2022-03-01 00:05:00 20
2022-03-01 00:10:00 20
2022-03-01 00:15:00 20
2022-03-01 00:25:00 20
2022-03-01 00:26:00 20
2022-03-01 00:27:00 20
2022-03-01 00:35:00 20
2022-03-01 00:40:00 20
2022-03-01 00:42:00 20
2022-03-01 00:55:00 20
2022-03-01 01:00:00 20
2022-03-01 01:06:00 20
时间段1:开始时间:2022-03-01 00:00:00 结束时间:2022-03-01 00:15:00
时间段2:开始时间:2022-03-01 00:25:00 结束时间:2022-03-01 00:42:00
时间段3:开始时间:2022-03-01 00:55:00 结束时间:2022-03-01 01:06:00
如果原数据是字符串
只想到遍历,用datetime 转换成时间,计算输出
import datetime
data = '''2022-03-01 00:00:00 20
2022-03-01 00:05:00 20
2022-03-01 00:10:00 20
2022-03-01 00:15:00 20
2022-03-01 00:25:00 20
2022-03-01 00:26:00 20
2022-03-01 00:27:00 20
2022-03-01 00:35:00 20
2022-03-01 00:40:00 20
2022-03-01 00:42:00 20
2022-03-01 00:55:00 20
2022-03-01 01:00:00 20
2022-03-01 01:06:00 20'''
data_list = data.split("\n")
st = ""
en = ""
t1 = 0
cnt = 1
for d in data_list:
if st == "":
# print("初始化")
st = d
t1 = datetime.datetime.strptime(d[:19], '%Y-%m-%d %H:%M:%S')
continue
t2 = datetime.datetime.strptime(d[:19], '%Y-%m-%d %H:%M:%S')
# print(d ,'\t',(t2 - t1).total_seconds())
if (t2 - t1).total_seconds() <600:
t1 = t2
en = d
else:
print("时间段{},开始{},结束{}".format(cnt,st,en))
st = d
t1 = t2
cnt = cnt + 1
en = ""
if en !="":
print("时间段{},开始{},结束{}".format(cnt, st, en))
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!