我需要将输入时间与当前时间进行比较。如果我的输入时间超过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
转换为相同的格式,以便进行比较?
答案 0 :(得分:1)
试试这个并告诉我
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
答案 1 :(得分:1)
datetime.now()会将日期返回到秒。
所以要添加到@thaavik的回答你可以做这样的事情来更准确地比较:
datetime.strptime(my_input_time, '%Y%m%d %h:%m:%s')
答案 2 :(得分:0)
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