[英]Python check if date is within 24 hours
我一直在為此嘗試一些代碼,但我似乎無法完全理解它。
我有一個設定的日期, set_date
這只是一些你期望的隨機日期,而那個只是我得到的數據。 現在我想要一些錯誤函數,如果datetime.now()
在set_date
24 小時內會引發錯誤。
我一直在嘗試使用timedelta(hours=24)
編寫代碼
from datetime import datetime, timedelta
now = datetime.now()
if now < (set_date - timedelta(hours=24)):
raise ValidationError('')
我不確定這樣做的正確方法是什么,這樣做的好方法是什么。 我如何確切地檢查當前時間是否在設定日期之前 24 小時?
像那樣?
if now-timedelta(hours=24) <= set_date <= now:
... #date less than 24 hours in the past
如果您想檢查日期是否在任一側的 24 小時內:
if now-timedelta(hours=24) <= set_date <= now+timedelta(hours=24):
... #date within 24 hours
檢查日期是否在 24 小時內。
取當前時間和過去時間之間的差異,並檢查是否為否。 天數為零。
past_date = datetime(2018, 6, 6, 5, 27, 28, 369051)
difference = datetime.utcnow() - past_date
if difference.days == 0:
print "date is within 24 hours"
## Also you can check the difference between two dates in seconds
total_seconds = (difference.days * 24 * 60 * 60) + difference.seconds
# Edited. Also difference have in-built method which will return the elapsed seconds.
total_seconds = difference.total_seconds()
您可以檢查 total_seconds 是否小於所需時間
這樣做:
if now - timedelta(hours=24) <= set_date <= now + timedelta(hours=24):
#Do something
這相當於:
if now - timedelta(hours=24) <= set_date <= now or now <= set_date <= now + timedelta(hours=24):
# ---^--- in the past 24h ---^--- in the future 24h
#Do something
就這么簡單:
from datetime import datetime
#...some code...
if (datetime.now() - pastDate).days > 1:
print('24 hours have passed')
else:
print('Date is within 24 hours!')
你在這里做的是從當前日期datetime.now()
減去舊日期pastDate
,這給你一個時間增量datetime.timedelta(...)
對象。 此對象存儲自舊日期以來經過的天數、秒數和微秒數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.