关于减去两个日期时间对象:减去两个日期时间对象-python

Subtract Two DateTime objects - Python

本问题已经有最佳答案,请猛点这里访问。

我有两个这样的约会对象

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

然后

1
c = a - b

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

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

但我得到一个错误,说无法将datetime.teimdelta与datetime.time进行比较

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

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

谢谢你的帮助


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

1
2
3
4
5
6
7
>>> 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
2
3
4
three_hours = 3600*3 # in seconds

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


您还可以与另一个TimeDelta对象进行比较

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