python - Django DateTimeField 与 datetime.now() 进行比较

标签 python django

我有一个DateTimeField:

class Assignment (models.Model):
   official_deadline = models.DateTimeField(null=True, blank=True)

我需要将它与当前日期时间进行比较,我已经尝试过:

def official_deadline_past(self):
    if datetime.datetime.today() > self.official_deadline:
        return True
    return False

但它总是返回 False 我也试过:

def official_deadline_past(self):
    if datetime.datetime.now() > self.official_deadline:
        return True
    return False

但我也有同样的问题。

我在该字段中有一个信息:2011-07-02 00:00:00 例如在 ModelForm

生成的表单中

最佳答案

我在 python 2.7.3 和 django 1.3.1 下比较 DateTimeField 和 datetime 时遇到了类似的问题

我认为 DateTimeField 没有很好的时区支持,或者我没有正确配置它。

每当我为日期时间字段指定时区时,我对 DateTimeField > datetime 的所有比较都会失败。

datetime 使用的是本地中部时间,而 DateTimeField 输入的是东部时间。

我最后只是做了一个愚蠢的 hack,将 timedelta(hours=1) 添加到 datetime 中心对象以将其“转换”为东部时间。

关于python - Django DateTimeField 与 datetime.now() 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762612/

相关文章:

python - 如何在django View 中使用python多处理模块

python - 如何链接 Django 查询集以保留单个顺序

python - Pandas Groupby 日名称

python - basemap 和 Matplotlib - 提高速度

Python:距离直线最近的点

python - 让 Django 忘记一个不正确的 'makemigration'

python - 有没有一种方法可以让 python 命令在午夜准时发送?

python - 如何在 PyQT5 中拉伸(stretch) QBoxLayout?

python - 如何添加默认(隐藏)值以在 Django 中形成模板?

python - 无法从 Django 中的设置文件中获取设置