【问题标题】:django time zone is not working ( return wrong time )django 时区不工作(返回错误的时间)
【发布时间】:2013-11-05 14:12:20
【问题描述】:

Django 时区支持是错误的(但是,我确定有一些我想念的东西)

我也用 SERVER(UBUNTU)、mysql 和 django 设置时间到 America/Los_Angeles。

服务器是俄勒冈州,我在加州。据我所知,没有时差。

我也一直使用 php、mysql 和 django 进行打印。

所有结果均为 PST!

但是,我从服务器获取日期。这是完全不同的。 (从数据库日期起 -7 小时)

如果在 settings.py 中关闭 TZ 支持,django 将打印完全相同的日期和时间表单 DB

我搜索了 3 个小时没有运气:(

我应该检查更多或更改什么?

提前致谢:)

================================================ ========= ;更新

Django 假定 DB 为 UDT 时间。然后强制计算定位时间为 -7 PDT

(必须)使用 timezone.now() 通过 Django 插入然后解决! :)

【问题讨论】:

  • 时差是 7 小时还是 6.5 小时?
  • @karthikr 正好 7 小时

标签: django timezone django-timezone


【解决方案1】:

你没有提到你是否在你的时区调用了“激活”,我怀疑这可能是问题所在。从 PDT 偏移的 7 小时将是 GMT。

至少,调用 timezone.activate(sometz) 详细信息在这里https://docs.djangoproject.com/en/1.5/topics/i18n/timezones/#selecting-the-current-time-zone - 制作几个测试视图以在 tzs 之间切换应该足以查看这是否会导致您的问题。这会为线程激活它,因此根据您的用户对您网站的使用模式,您可能希望通过该文档页面中描述的中间件调用激活。

【讨论】:

  • 谢谢。但是,我打开了 TZ = True。使用 sql NOW() 查询手动将日期输入数据库。使用 Django 加载内容时。它使用 TZ = True 更改了 -7 时区。使用 TZ = False,Django 从数据库中打印完全相同的时间
猜你喜欢
  • 2013-06-03
  • 1970-01-01
  • 2020-10-15
  • 2020-12-12
  • 2013-04-13
  • 1970-01-01
  • 2014-05-11
  • 2020-07-09
  • 1970-01-01
相关资源
最近更新 更多