Django时区支持是错误的(但是,我确定我错过了一些东西)
我也用SERVER(UBUNTU),mysql和django将时间设置为美国/Los_Angeles。
服务器是俄勒冈州,我在加利福尼亚州。据我所知,没有时差。
我也用php,mysql和django打印了所有的时间。
所有结果都是太平洋标准时间!
但是,我从服务器获取日期。这是完全不同的。(自数据库日期起-7小时)
如果在 settings.py 年关闭 TZ 支持,django 会从 DB 打印完全相同的日期和时间
我搜索了 3 个小时,没有运气:(
我应该检查更多或更改什么?
提前致谢:)
================================================================;更新
Django 假设 DB 为 UDT 时间。 然后强制计算到位置时间为 -7 PDT
(必须)使用时区插入 Django.now() 然后解决了!! :)
你没有提到你是否在你的时区上调用了"激活",我怀疑这可能是问题所在。从 PDT 偏移量的 7 小时将是格林威治标准时间。
至少,调用timezone.activate(sometz),详见此处 https://docs.djangoproject.com/en/1.5/topics/i18n/timezones/#selecting-the-current-time-zone -制作几个测试视图以在 tzs 之间切换应该足以查看这是否导致了您的问题。这会为线程激活它,因此根据您的用户使用站点的模式,您可能希望通过中间件调用 activate ,如该文档页面中所述。