使用Python 確定日期時間之間是否已過去24 小時
在Python 中,您可以使用datetime 方便地確定兩個日期時間之間的時間差模組。這在您需要檢查特定時間段(例如 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 時間的樸素日期時間物件(沒有時區資訊):
from datetime import datetime, timedelta if (datetime.utcnow() - last_updated) > timedelta(hours=24): # More than 24 hours passed
當地時間
如果last_updated是表示本地時間的樸素日期時間對象(沒有時區資訊):
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中文網其他相關文章!