不能将datetime.datetime与unicode进行比较

时间:2017-07-14 20:45:23

标签: python django datetime

我需要将输入时间与当前时间进行比较。如果我的输入时间超过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转换为相同的格式,以便进行比较?

3 个答案:

答案 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)

使用datetime.strptime

from datetime import datetime
t = datetime.strptime(my_input_time, '%Y%m%d') # or whatever your datetime format is

您还可以更简洁地设置dd = X_value if t < five_days_ago else Y_value