[英]can't compare datetime.datetime to unicode
我需要將輸入時間與當前時間進行比較。 如果我的輸入時間超過5天,我將執行d = X_value
。 否則, d = Y_value
。 我的輸入時間格式如下:
my_input__time: 2017-07-05 22:52:00+00:00
我的view.py看起來像這樣:
import datetime
five_days_ago = datetime.datetime.now() - datetime.timedelta(5)
if my_input_time < five_days_ago:
d = X_value
else:
d = Y_value
我收到TypeError:無法將datetime.datetime與unicode比較。 如何將my_input_tine
和five_dys_ago
轉換為相同格式,以便進行比較?
試試這個告訴我
import datetime
five_days_ago = datetime.datetime.now() - datetime.timedelta(5)
my_input_time = datetime.datetime.strptime(my_input__time, '%Y-%m-%d %H:%M:%S+00:00')
if my_input_time < five_days_ago:
d = X_value
else:
d = Y_value
datetime.now()會將日期縮短為秒。
因此,要添加到@thaavik的答案中,您可以執行以下操作以更准確地進行比較:
datetime.strptime(my_input_time, '%Y%m%d %h:%m:%s')
from datetime import datetime
t = datetime.strptime(my_input_time, '%Y%m%d') # or whatever your datetime format is
您還可以使設置d
更簡潔: d = X_value if t < five_days_ago else Y_value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.