繁体   English   中英

无法将datetime.datetime与unicode比较

[英]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_tinefive_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')

使用datetime.strptime

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM