我想对两个日期之间的总时间进行计时,还希望它们每小时进行一次安排,例如
>>> import datetime
>>> d1 = "2020-02-04T05:50:00.000+0000"
>>> d2 = "2020-02-05T12:33:00.000+0000"
>>> d1 = datetime.datetime.strptime(d1[:10]+' '+d1[11:19], '%Y-%m-%d %H:%M:%S')
>>> print (d1)
2020-02-04 05:50:00
>>> d2 = datetime.datetime.strptime(d2[:10]+' '+d2[11:19], '%Y-%m-%d %H:%M:%S')
>>> print (d2)
2020-02-05 12:33:00
>> (d2 - d1).total_seconds() / 60
1843.0
它给了我两个日期之间的总分钟数,但是我真正想要的是例如每小时安排分钟数,
10、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60、60 ,60、60、60、60、60、60、60、33
在上述第5小时内只有10分钟,第6小时有60分钟,..,而第12小时有33分钟。
答案 0 :(得分:1)
您似乎正在寻找第一个小时剩余的分钟,经过的整个小时以及最后一个小时的分钟?
鉴于这些步骤,您可以使用:
import datetime
from math import floor
def list_minutes_per_h(dt1, dt2):
first = 60 - d1.minute
last = d2.minute
full_h = floor((dt2 - dt1).seconds / 60 / 60)
return [first] + [60] * full_h + [last]