在python中得到错误的时间delta

时间:2017-10-22 12:02:02

标签: python datetime

我在python 2.7中减去两个日期,并在几秒钟内得到错误的结果。显然这些日期之间的差异超过24小时,即86400。但我得到44705s,为什么会这样,以及如何解决它?

>>> date1
datetime.datetime(2017, 10, 22, 11, 41, 28)
>>> date2
datetime.datetime(2017, 10, 20, 23, 16, 23)
>>> (date1-date2).seconds
44705

2 个答案:

答案 0 :(得分:4)

调用.seconds只会为您提供timedelta对象的秒组件,该组件仅考虑秒,分钟和小时(有关更多详细信息,请参阅文档)。如果您想在几秒钟内完成整个timedelta,请致电total_seconds

>>> (date1 - date2).total_seconds()  
131105.0

答案 1 :(得分:1)

date1-date2datetime.timedelta(1, 44705)。你只关注秒部分。看看日期部分。