【问题标题】:Django not storing the exact UTC time in dbDjango没有在db中存储确切的UTC时间
【发布时间】:2018-01-25 01:47:03
【问题描述】:

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

我目前的设置是:

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,或者它与服务器时间有关 设置?

【问题讨论】:

标签: django postgresql django-timezone


【解决方案1】:

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

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

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

修复使用:

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

我在 Django 1.6.5

【讨论】:

  • 您的答案在参考文献中重复 ;-)。
猜你喜欢
  • 2012-07-29
  • 1970-01-01
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
  • 1970-01-01
  • 2016-01-11
相关资源
最近更新 更多