我想知道某个条目在过去 6 个月内是否有更新。
这是我试过的:
def is_old(self):
"""
Is older than 6 months (since last update)
"""
time_threshold = datetime.date.today() - datetime.timedelta(6*365/12)
if self.last_update < time_threshold:
return False
return True
但是我得到了错误:
if self.last_update < time_threshold:
TypeError: can't compare datetime.datetime to datetime.date
最佳答案
你需要days
关键字
>>> import datetime
>>> datetime.date.today() - datetime.timedelta(days=30)
datetime.date(2014, 5, 26)
>>> datetime.date.today() - datetime.timedelta(days=180)
datetime.date(2013, 12, 27)
>>> datetime.date.today() - datetime.timedelta(days=6*365/12)
datetime.date(2013, 12, 25)
另外,你的实际错误是:TypeError: can't compare datetime.datetime to datetime.date
你可以这样做
def is_old(self):
time_threshold = datetime.date.today() - datetime.timedelta(days=6*365/12)
#The following code can be simplified, i shall let you figure that out yourself.
if self.last_update and self.last_update.date() < time_threshold:
return False
return True
关于python - 如果日期时间早于 Python 中的 x 个月,如何锻炼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413964/