2

我有一个 Django API/PostgreSql 项目,我尝试以 UTC 格式存储日期时间,稍后我将在前端使用角度转换为正确的时区。

我目前的设置是:

USE_TZ = True
TIME_ZONE = 'US/Eastern'

我第一次使用 UTC,但由于某种原因,日期时间存储为 +1 小时,所以我将时区设置为我的服务器时区

模型:

date = models.DateTimeField(default = timezone.now())

但是当我检索插入的记录时,时间还是晚了-3分钟。

当我使用下面的代码时,它会存储正确的时间:

date = models.DateTimeField(auto_now_add=True)

我在配置中遗漏了什么吗?我应该使用什么 TIME_ZONE,服务器位置 time_zone,还是与服务器时间设置有关?

4

1 回答 1

1

问题已解决,我不知道为什么,但是当我使用时:

date = models.DateTimeField(default = timezone.now()) # note: .now() with parenthesizes

时间卡住了,在服务器启动的时候。

修复使用:

date = models.DateTimeField(default = timezone.now) # without ()

我在 Django 1.6.5 上

于 2017-08-16T20:00:18.410 回答