Python Django无序类型

Python Django无序类型,python,django,Python,Django,使用Django我想检查一个日期是否为未来30天,kwargs['datetime']是DRF给出的日期: from datetime import date, timedelta if kwargs['datetime'] > timedelta(days=30): pass 我得到一个错误: 无序类型:datetime.datetime()>datetime.timedelta() Django时区是否与datatime不兼容,或者我在做其他错误的事情?您可以使用时区获取

使用Django我想检查一个日期是否为未来30天,
kwargs['datetime']
是DRF给出的日期:

 from datetime import date, timedelta
 if kwargs['datetime'] > timedelta(days=30):
    pass
我得到一个错误: 无序类型:datetime.datetime()>datetime.timedelta()


Django时区是否与datatime不兼容,或者我在做其他错误的事情?

您可以使用
时区
获取当前日期时间:

from django.utils import timezone
now = timezone.now()
而且,要检查来自DRF的日期时间是否在未来30天之后,您可以将
timedelta
添加到
now

# or >= as per your requirement
if kwargs['datetime'] > now + timedelta(days=30):
    pass
如果禁用时区支持,则可以按如下方式获取当前日期时间:

import datetime
now = datetime.datetime.now()

您可以使用
时区
获取当前日期时间:

from django.utils import timezone
now = timezone.now()
而且,要检查来自DRF的日期时间是否在未来30天之后,您可以将
timedelta
添加到
now

# or >= as per your requirement
if kwargs['datetime'] > now + timedelta(days=30):
    pass
如果禁用时区支持,则可以按如下方式获取当前日期时间:

import datetime
now = datetime.datetime.now()

一个是绝对值,另一个是增量。您需要将增量转换为一个绝对值(通过使用另一个绝对值来引用它)。
timedelta
计算
datetime
如果您添加或减去其他日期时间。我不知道你想在这里做什么。@Spaceships请检查我的答案。你想说的是,例如“1987年6月5日”是否大于“一周”。这是一个不同的类别,一个是绝对的,另一个是三角洲。您需要将增量转换为一个绝对值(通过使用另一个绝对值来引用它)。
timedelta
计算
datetime
如果您添加或减去其他日期时间。我不知道你想在这里做什么。@Spaceships请检查我的答案。你想说的是,例如“1987年6月5日”是否大于“一周”。这是一个不同的类别。