首页 > 解决方案 > Django 如何正确比较 django.utils.timezone.localtime 和 PostgreSQL 时间与时区?

问题描述

我有一个带有time with time zone列的旧 PostgreSQL 表。

在models.py中,我将文件设置为models.TimeField

我想比较Django.utils.timezone.localtime()访问db_field_time_with_time_zone

我在下面尝试过:

# let's say now=20:00 and db_field_time_with_time_zone=16:00
now = timezone.localtime()
data = timezone.datetime.combine(timezone.localdate(), db_field_time_with_time_zone)
self.assertTrue(now > data) # I get False...

在原始 PostgreSQL 列中,它存储为16:00:00+09:00
但是当我使用它检索数据python manage.py shell时返回16:00:00+00:00,我也认为这是导致此问题的原因。

在我的 settings.py

TIME_ZONE = 'Asia/Tokyo'
USE_TZ = True

标签: pythondjangopostgresqldatetimedjango-timezone

解决方案


推荐阅读