减去两个DateTime对象 - Python

时间:2015-08-25 18:37:44

标签: python datetime time

我有两个这样的日期时间对象

a = first date time object
b = second date time object

然后

c = a - b

现在我要比较c并检查差异是否大于3小时,所以我有一个名为three_hours的时间对象

three_hours = datetime.time(3,0)
if c >= three_hours:
     #do stuff

但是我收到一条错误消息,说无法将datetime.teimdelta与datetime.time进行比较

我的问题不同,因为我还想比较减去的时间,而不仅仅是得到差异!!

如何将它们转换为正确的格式,以便检查是否已经过了3个小时?

感谢您的帮助

3 个答案:

答案 0 :(得分:5)

当你在python中减去两个日期时间对象时,你会得到一个datetime.timedelta对象。然后,您可以获取该timedelta对象的total_seconds(),并检查它是否大于3*3600,这是3小时的秒数。示例 -

>>> a = datetime.datetime.now()
>>> b = datetime.datetime(2015,8,25,0,0,0,0)
>>> c = a - b
>>> c.total_seconds()
87062.729491
>>> c.total_seconds() > 3*3600
True

答案 1 :(得分:1)

你可以这样做

three_hours = 3600*3 # in seconds

if c.total_seconds() >= three_hours:
    # do stuff

答案 2 :(得分:-1)

您也可以只与另一个timedelta对象进行比较

import datetime
if c >= datetime.timedelta(hours=3):
   #do something