Сравнение дельты времени в Python

У меня есть переменная, которая является <type 'datetime.timedelta'> и я хотел бы сравнить его с определенными значениями.

Позволяет говорят, что d производит это datetime.timedelta значение 0:00:01.782000

Я хотел бы сравнить его как это:

#if d is greater than 1 minute 
if d>1:00:
  print "elapsed time is greater than 1 minute"

Я попытался преобразовать datetime.timedelta.strptime() но это, действительно кажется, работает. Существует ли более легкий способ сравнить это значение?

59
задан SilentGhost 7 April 2010 в 11:12
поделиться

2 ответа

Вам нужно будет создать новую timedelta с указанным временем:

d > timedelta(minutes=1)

Или чуть больше Полный сценарий поможет уточнить:

import datetime
from time import sleep

start = datetime.datetime.now()
sleep(3)
stop = datetime.datetime.now()

elapsed = stop - start

if elapsed > datetime.timedelta(minutes=1):
    print "Slept for > 1 minute"

if elapsed > datetime.timedelta(seconds=1):
    print "Slept for > 1 second"

Вывод:

Спал> 1 секунды

81
ответ дан 24 November 2019 в 18:24
поделиться

Вам просто нужно создать объект timedelta с нуля, сравнение после этого тривиально:

>>> a = datetime.timedelta(minutes=1)
>>> b = datetime.timedelta(minutes=1, seconds=1)
>>> a < b
True
>>> a > b
False
16
ответ дан 24 November 2019 в 18:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: