簡體   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