我有这个函数来计算两个时间戳之间的差异,以秒为单位。
def diffdates(d1, d2):
diff = (time.mktime(time.strptime(d2,"%Y-%m-%dT%H:%M:%S")) -
time.mktime(time.strptime(d1, "%Y-%m-%dT%H:%M:%S")))
pprint(d2)
pprint(d1)
pprint(diff)
return diff
diffdates(diffdates('2016-10-11T11:10:00','2016-10-11T16:00:00')
当我用给定的参数调用它时,我希望结果是
4*3600-10*60 = 13800
但我得到
17400 = 5*3600 - 10*60
我正在检查,如果我在文档中的格式化字符串有问题,但我找不到任何问题。此外,该日期的夏季/冬季时间也没有变化。
答案 0 :(得分:1)
你的数学错了。 16:00至11:10之间的差异是4小时50分钟。您对4*3600-10*60
的计算建议为3小时50分钟。你要一小时了。
16:00
每天60*16
分钟:960
11:10
在60*11+10
670
分钟
960 - 670
为290
分钟
290 minutes * 60
为17400
秒。