每小时持续时间计算的覆盖范围

时间:2015-05-06 14:08:35

标签: python datetime

考虑到开始时间Timestamp('2015-05-06 09:40:45')和结束时间Timestamp('2015-05-06 011:12:13'),我想确定此持续时间每小时所涵盖的分钟数。

也就是说,我想要以下输出:

  • 小时9 - 19.25分钟
  • 小时10 - 60.00分钟
  • 小时11 - 12.22分钟

我有一个算法,但我很难比较inttimestamp

1 个答案:

答案 0 :(得分:0)

我们假设开始日期和结束日期相同。

from datetime import datetime
starttime = datetime(year = 2015, month = 5, day =6, hour=9, minute=40, second=45)
endtime = datetime(year = 2015, month = 5, day =6, hour=11, minute=12, second=13)

for i in range(starttime.hour, endtime.hour+1):
    if i == starttime.hour:
        rightbound = datetime(starttime.year, starttime.month, starttime.day, hour=(i+1), minute=0, second=0)
        print starttime.hour, (rightbound - starttime).seconds/60.
    elif i == endtime.hour:
        leftbound = datetime(starttime.year, starttime.month, starttime.day, hour=(i), minute=0, second=0)
        print leftbound.hour, (endtime - leftbound).seconds/60.
    else:
        print i, "60"

(第n小时,分钟数)输出为:

9 19.25
10 60
11 12.2166666667