하루의 시간을 어떻게 비교합니까?
날짜 비교를 할 수 있다는 것을 수 있습니다.datetime.timedelta()
하지만 현재 시간이 맞는지 확인하는 방법을 찾기 위해 고군분투하고 있습니다.datetime.datetime.now()
)는 날짜에 관계없이 지정된 시간(예: 오전 8시)보다 빠르거나 늦거나 같습니다.
특정 시점(예: "지금 바로")을 고정되지 않은 반복 이벤트(매일 오전 8시 발생)와 비교할 수 없습니다.
지금이 오늘 오전 8시 이전인지 이후인지 확인할 수 있습니다.
>>> import datetime
>>> now = datetime.datetime.now()
>>> today8am = now.replace(hour=8, minute=0, second=0, microsecond=0)
>>> now < today8am
True
>>> now == today8am
False
>>> now > today8am
False
사용할 수 있습니다.time()
의 방법datetime
날짜를 고려하지 않고 비교에 사용할 수 있는 시간을 가져오는 개체:
>>> this_morning = datetime.datetime(2009, 12, 2, 9, 30)
>>> last_night = datetime.datetime(2009, 12, 1, 20, 0)
>>> this_morning.time() < last_night.time()
True
datetime.datetime 개체를 직접 비교할 수 있습니다.
예:
>>> a
datetime.datetime(2009, 12, 2, 10, 24, 34, 198130)
>>> b
datetime.datetime(2009, 12, 2, 10, 24, 36, 910128)
>>> a < b
True
>>> a > b
False
>>> a == a
True
>>> b == b
True
>>>
여기서 이 라이너를 본 적이 없다는 것이 놀랍습니다.
datetime.datetime.now().hour == 8
Roger Pate에서 영감을 받았습니다.
import datetime
def todayAt (hr, min=0, sec=0, micros=0):
now = datetime.datetime.now()
return now.replace(hour=hr, minute=min, second=sec, microsecond=micros)
# Usage demo1:
print todayAt (17), todayAt (17, 15)
# Usage demo2:
timeNow = datetime.datetime.now()
if timeNow < todayAt (13):
print "Too Early"
시간 델타 함수를 사용하여 x 시간 증가 비교를 수행할 수 있습니다.
>>> import datetime
>>> now = datetime.datetime.now()
>>> after_10_min = now + datetime.timedelta(minutes = 10)
>>> now > after_10_min
False
종속성을 추가하거나 날짜 시간을 사용하지 않고 이를 수행하는 또 다른 방법은 단순히 시간 개체의 속성에 대해 몇 가지 계산을 수행하는 것입니다.시간, 분, 초, 밀리초 및 시간대가 있습니다.매우 간단한 비교의 경우 몇 시간과 몇 분이면 충분합니다.
d = datetime.utcnow()
t = d.time()
print t.hour,t.minute,t.second
믿을 수 없을 정도로 간단한 사용 사례가 없는 한 이 작업을 권장하지 않습니다.시간대 인식 또는 날짜 인식이 필요한 경우 날짜 시간을 사용해야 합니다.
날짜/시간 비교 기능이 있습니다.
>>> import datetime
>>> import time
>>> a = datetime.datetime.now()
>>> time.sleep(2.0)
>>> b = datetime.datetime.now()
>>> print a < b
True
>>> print a == b
False
언급URL : https://stackoverflow.com/questions/1831410/how-to-compare-times-of-the-day
'source' 카테고리의 다른 글
SQL DateTime에 대한 링크 값은 로컬(Kind=Unspecified)입니다. UTC로 만들려면 어떻게 해야 합니까? (0) | 2023.07.21 |
---|---|
ORA-00980 동의어 변환은 PLSQL에서 더 이상 유효하지 않습니다. (0) | 2023.07.21 |
Oracle SQL - 표에 없는 값 찾기 (0) | 2023.07.21 |
SpringBoot 1.3.0은 최대 절전 모드 5를 지원합니까? (0) | 2023.07.21 |
0으로 채워진 판다 데이터 프레임 만들기 (0) | 2023.07.21 |