code

파이썬에서 시간 델타 비교

codestyles 2020. 12. 12. 10:52
반응형

파이썬에서 시간 델타 비교


나는 변수가 <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()했지만 작동하는 것 같습니다. 이 값을 비교하는 더 쉬운 방법이 있습니까?


지정된 시간 동안 새 파일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"

산출:

Slept for > 1 second


timedelta처음부터 객체 를 생성하기 만하면됩니다. 그 이후의 비교는 간단합니다.

>>> a = datetime.timedelta(minutes=1)
>>> b = datetime.timedelta(minutes=1, seconds=1)
>>> a < b
True
>>> a > b
False

내가 틀렸다면 나를 정정하지만 다음을 사용할 수도 있다고 생각합니다.

대신에

if elapsed > datetime.timedelta(seconds=1):

넌 말할 수있다

if elapsed.seconds > 1:

if d.total_seconds() > 60:
  print("elapsed time is greater than 1 minute")

하지만 파이썬 2.7 이상이 필요합니다

참고 URL : https://stackoverflow.com/questions/2591845/comparing-a-time-delta-in-python

반응형