>백엔드 개발 >파이썬 튜토리얼 >Python에서 두 날짜 사이에 24시간이 지났는지 어떻게 정확하게 확인할 수 있나요?

Python에서 두 날짜 사이에 24시간이 지났는지 어떻게 정확하게 확인할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 02:35:14455검색

How Can I Accurately Determine if 24 Hours Have Passed Between Two Datetimes in Python?

Python을 사용하여 날짜/시간 사이에 24시간이 경과했는지 확인

Python에서는 날짜/시간을 사용하여 두 날짜/시간 간의 시차를 편리하게 확인할 수 있습니다. 기준 치수. 이는 24시간과 같은 특정 기간이 지났는지 확인해야 하는 시나리오에서 특히 유용합니다.

다음 방법을 고려하세요.

def time_diff(last_updated):
    day_period = last_updated.replace(day=last_updated.day + 1,
                                      hour=1,
                                      minute=0,
                                      second=0,
                                      microsecond=0)
    delta_time = day_period - last_updated
    hours = delta_time.seconds // 3600
    # Check if 24 hours have passed
    if hours >= 24:
        print("hello")
    else:
        print("do nothing")

이 방법은 시차를 계산합니다. 현재 시간과 주어진 날짜/시간 객체인 last_updated 사이입니다. 24시간이 지나면 "hello"가 인쇄됩니다. 그렇지 않으면 "아무것도 하지 않음"이 인쇄됩니다.

그러나 이 방법은 24시간의 시차를 정확하게 판별하는 데 부족합니다. 더 정확한 해결책은 다음과 같습니다.

UTC 시간

last_updated가 UTC 시간을 나타내는 순진한 datetime 객체(시간대 정보 없음)인 경우:

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # More than 24 hours passed

현지 시간

경우 last_updated는 현지 시간을 나타내는 순진한 datetime 객체(시간대 정보 없음)입니다.

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # More than 24 hours passed

시간대 및 모호한 시간

last_updated가 모호한 시간인 경우(예: DST 전환) pytz 모듈을 사용하여 다음을 보장할 수 있습니다. 정확성:

from datetime import datetime, timedelta
from tzlocal import get_localzone # pip install tzlocal

tz = get_localzone()
then = tz.normalize(tz.localize(last_updated))
now = datetime.now(tz)
if (now - then) > timedelta(hours=24):
    # More than 24 hours passed

위 내용은 Python에서 두 날짜 사이에 24시간이 지났는지 어떻게 정확하게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.