【发布时间】:2018-10-26 17:55:00
【问题描述】:
我希望在我的 Django 数据库中创建记录时自动记录当前时间。
在我使用的模型中:
dateTime = models.DateTimeField(auto_now_add=True)
据我了解,考虑到正确的时区,这会自动标记时间。 但是,这会输出比我当地时间早 5 小时的时间。
所以为了尝试调试它,我在视图中运行了这个函数并打印了输出:
from django.utils import timezone
timeNow = timezone.localtime(timezone.now())
timeNow 会输出正确的时间。
所以我将模型更改为:
def get_time():
return timezone.localtime(timezone.now())
dateTime = models.DateTimeField(default = get_time)
这仍然会导致相同的错误时间戳。
我还在我的 settings.py 中更改了时区
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'Canada/Central'
USE_I18N = True
USE_L10N = True
USE_TZ = True
任何想法我缺少什么?
【问题讨论】:
-
日期时间在存储时从连接的时区转换为 UTC,然后在检索时转换回连接的时区。