减去两个DateTime对象-Python

spe*_*f10 4 python time datetime

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

a = first date time object
b = second date time object
Run Code Online (Sandbox Code Playgroud)

然后

c = a - b
Run Code Online (Sandbox Code Playgroud)

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

three_hours = datetime.time(3,0)
if c >= three_hours:
     #do stuff
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢您的帮助

Nig*_*een 11

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

import datetime
if c >= datetime.timedelta(hours=3):
   #do something
Run Code Online (Sandbox Code Playgroud)


Ana*_*mar 7

当在python中减去两个datetime对象时,将得到一个datetime.timedelta对象。然后,您可以获取该total_seconds()timedelta对象的,并检查该对象是否大于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
Run Code Online (Sandbox Code Playgroud)