python - 如果日期时间早于 Python 中的 x 个月,如何锻炼

标签 python django

我想知道某个条目在过去 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/

相关文章:

python - Pyinstaller 创建的 exe 在一台机器上运行,但在另一台机器上出错

django - 如何将标签网址添加到 sitemap.xml?

python - Django直接返回.html文件,根本不解析模板标签

django - Nginx 返回 301 https ://$server_name$request_uri; Too Many Redirects

python - Python-opencv错误导入cv2 ImportError:更新OS X El Capitan后的dlopen

javascript - 从 Python 执行 Javascript

python - df.to_csv 适用于 S3 存储桶,但 df.to_excel 不适用

python:具有多态性的类属性/变量继承?

django - 在 viewflow.frontend 之外处理 View

django - 如何在django 1.5中获取request.path?