【发布时间】:2020-04-08 15:46:01
【问题描述】:
在我的 views.py 中,我正在写入和读取具有 DateTimeField 的 PostgreSQL 表。
创建新条目时,日期字段以 UTC 时间填充。当从 views.py 中的数据库中提取数据时,UTC 时间戳被视为位于“美国/芝加哥”时区。
# settings.py
TIME_ZONE = 'America/Chicago'
USE_I18N = True
USE_L10N = True
USE_TZ = True
我尝试在数据库中创建条目时提供各种时区感知日期,但在直接查看数据库时它始终显示为 UTC。当我拉回数据时,django 将 UTC 日期时间视为时区是“美国/芝加哥”
# views.py
CT = pytz.timezone("America/Chicago")
UTC = pytz.timezone("UTC")
# attempt_1 = datetime.datetime.utcnow().astimezone(CT)
# attempt_2 = datetime.datetime.now().astimezone(CT)
# attempt_3 = datetime.datetime.utcnow()
attempt_4 = datetime.datetime.utcnow().astimezone(UTC)
new_entry = MyModel(date=attempt_4)
new_entry.save()
【问题讨论】:
标签: python django postgresql