[英]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.