如何检查两个日期时间对象之间的时间差?

3 投票
4 回答
3305 浏览
提问于 2025-04-16 08:39

假设 x 和 y 是 Python 中的日期时间对象。

我该如何检查:

if y - x is more than 30 seconds:
    print "ok, 30 seconds have passed"

4 个回答

0

把两个 datetime 对象相减,会得到一个 datetime.timedelta 对象。

这个对象有一个很方便的属性,叫 seconds,它可以告诉你这个 timedelta 里面有多少秒。

3

对于Python 2.7,你可以这样做:

if (y - x).total_seconds() > 30:
  print "ok, 30 seconds have passed"

或者这样也可以:

if y - datetime.timedelta(seconds = 30) > x:
  print "ok, 30 seconds have passed"

参考链接:timedelta

5

下面这个类可以用来表示两个日期、时间或日期时间之间的差值,精确到微秒:

class datetime.timedelta

你可以使用下面的代码来实现你的需求:

if (y-x) >datetime.timedelta(0,30):

撰写回答