Как проверить разницу во времени для двух объектов datetime? - PullRequest
2 голосов
/ 17 декабря 2010

Скажем, x и y - это объекты даты и времени в Python.

Как проверить:

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

Ответы [ 4 ]

3 голосов
/ 17 декабря 2010

Следующий класс может использоваться для длительности, выражающей разницу между двумя экземплярами даты, времени или даты и времени с микросекундным разрешением:

class datetime.timedelta

Следующий код может использоваться для вашегоцели:

if (y-x) >datetime.timedelta(0,30):
2 голосов
/ 17 декабря 2010

Для 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

0 голосов
/ 17 декабря 2010

Вычитание двух datetime объектов приведет к получению datetime.timedelta объекта.

Эти объекты имеют удобный атрибут seconds, который дает количество секунд, содержащихся в timedelta.

0 голосов
/ 17 декабря 2010

Используйте timedelta для сравнения двух дат - это позволит вам проверить, сколько секунд между ними.

...