我有一些包含開始時間和結束時間的數據(datetime格式),我想根據更受限制的日期范圍計算持續時間(以小時為單位)。但到目前為止,我還沒有成功。(對python還是個業余愛好者。)
示例:John Doe從1990-01-01T00:00:00.0到2016-12-31T23:59:59.0住在Main St 123號,但我想知道他在2015年10月到12月期間在那里住了多少小時。
下面的代碼將成功計算小時數,但我無法成功篩選日期時間,因此我只能獲得2015年10月1日到2015年12月31日之間的小時數。from datetime import datetime
# The getValue function retrieves the datetime values from the table
time1str = getValue("START_DT_TM")
time2str = getValue("STOP_DT_TM")
# Intended date range
# periodstart = datetime.strptime("2015-10-01T00:00:00.0", '%Y-%m-%dT%H:%M:%S.%f')
# periodend = datetime.strptime("2015-12-31T23:59:59.0", '%Y-%m-%dT%H:%M:%S.%f')
time1 = datetime.strptime(time1str, '%Y-%m-%dT%H:%M:%S.%f')
time2 = datetime.strptime(time2str, '%Y-%m-%dT%H:%M:%S.%f')
timen = datetime.strptime(nowstr, '%Y-%m-%d %H:%M:%S.%f')
timef = (time2-timen).days*24
if timef > 0:
delta = timen - time1
seconds = delta.seconds/1440
days = delta.days*24
return str(days+seconds)
else:
delta = time2 - time1
seconds = delta.seconds/1440
days = delta.days*24
return str(days+seconds)