我想知道檢查Python中給定日期時間是否在小時范圍內的最佳方法是獨立于年、月或日。例如,假設我的范圍在下午 3 點(15:00)和下午 5 點(17:00)之間,這是我目前的解決方案:
from datetime import datetime
my_time = datetime.strptime('2022-01-16T15:59:13Z', '%Y-%m-%dT%H:%M:%SZ')
if my_time.hour < 15 or my_time.hour >= 17:
print("NOT IN RANGE")
else:
print("IN RANGE")
有沒有更好的解決方案?提前致謝。
uj5u.com熱心網友回復:
這是一種使用回傳布林值的專用函式的方法。
import datetime as dt
HOUR_MIN = 15
HOUR_MAX = 17
def check_time_in_range(input_dt):
return HOUR_MIN <= input_dt.hour < HOUR_MAX
my_time = dt.datetime.strptime('2022-01-16T15:59:13Z', '%Y-%m-%dT%H:%M:%SZ')
print("In range" if check_time_in_range(my_time) else "Not in range")
uj5u.com熱心網友回復:
如果您愿意,可以這樣做:
def time_in_range(start, end, x):
"""Return true if x is in the range [start, end]"""
if start <= end:
return start <= x <= end
else:
return start <= x or x <= end
time_in_range(15, 17, my_time.hour)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/412814.html
標籤:
下一篇:日期時間(以位元組為單位)
