我正在尝试使用比较运算符将当前日期和时间与模型中指定的日期和时间进行比较:
if challenge.datetime_start <= datetime.now() <= challenge.datetime_end:
脚本错误:
TypeError: can't compare offset-naive and offset-aware datetimes
模型如下所示:
class Fundraising_Challenge(models.Model):
name = models.CharField(max_length=100)
datetime_start = models.DateTimeField()
datetime_end = models.DateTimeField()
我也有使用语言环境日期和时间的 django。
我找不到的是 django 用于 DateTimeField() 的格式。是天真还是有意识?以及如何让 datetime.now() 识别语言环境日期时间?
原文由 sccrthlt 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认情况下,
datetime
对象是naive
在 Python 中,因此您需要使它们都天真或有意识datetime
对象。这可以使用以下方法完成:注意:如果
tzinfo
已经设置,这将引发ValueError
。如果您不确定,请使用顺便说一句,您可以使用时区信息在 datetime.datetime 对象中格式化 UNIX 时间戳,如下所示