ホームページ >バックエンド開発 >Python チュートリアル >Python で 2 つの日時の間で 24 時間が経過したかどうかを確認するにはどうすればよいですか?

Python で 2 つの日時の間で 24 時間が経過したかどうかを確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-06 06:53:12937ブラウズ

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

Python で日時の間で 24 時間が経過したかどうかを確認する方法

時間の追跡が必要な Python アプリケーションを開発する場合、2 つの日時の差を比較する方法を知ることが重要です。日時。この特定のシナリオの目標は、指定された日時から 24 時間が経過したかどうかを判断することです。

これを達成するには、次のメソッドを活用できます。

方法 1: を使用するtimedelta

UTC 日時オブジェクト (タイムゾーン情報なし) の場合、timedelta を使用して次のことができます。 Compare:

from datetime import datetime, timedelta

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

方法 2: time.mktime() を使用する

last_updated が単純な datetime オブジェクト (タイムゾーン情報なし) の場合は、時間を使用できます。 mktime() で比較します:

import time

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

方法 3: を使用するtzlocal

より複雑なタイムゾーンの場合は、比較する前に tzlocal を使用して datetime オブジェクトを正規化することを検討してください。

from datetime import datetime, timedelta
from tzlocal import get_localzone

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

注:

  • UTC 日時オブジェクトの場合は、次を使用しますdatetime.utcnow().
  • 現地時間の datetime オブジェクトの場合は、datetime.now() を使用します。
  • time.mktime() は、夏時間 (DST) の移行中は正しく動作しない可能性があります。
  • tzlocal は、タイムゾーンを扱うための推奨ソリューションです。

これらを実装することで、メソッドを使用すると、2 つの日時の間で 24 時間が経過したかどうかを効果的に確認でき、Python プログラムで正確な時間ベースの計算を保証できます。

以上がPython で 2 つの日時の間で 24 時間が経過したかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。