2013-10-26 57 views
2

Django的時區支持是錯誤的(不過,我敢肯定有一些東西我想念)Django的時區不工作(返回錯誤的時間)

我設定的時間到美國與SERVER /洛杉磯(UBUNTU) ,mysql和django。

而服務器是俄勒岡州,我在CA.據我所知,沒有時差。

我全部用php,mysql和django打印。

所有結果都是PST!

但是,我從服務器獲取日期。它完全不同。 (從DB日期-7小時)

如果settings.py關閉TZ支持,Django的打印完全相同的日期和時間格式DB

我搜索3小時,沒有運氣:(

我應該多檢查或更改?

感謝提前:)

============================= =========================== ; UPDATE

Django將DB視爲UDT時間。然後強制計算到位置時間爲-7 PDT

(必須)通過Django插入timezone.now()然後解決! :)

+0

時間差是7小時還是6.5小時? – karthikr

+0

@karthikr恰好7小時 – joseph

回答

0

你不提,如果你已經在你的時區叫「激活」,但我懷疑這可能是問題。距離PDT抵消7小時將是GMT。

至少,請致電timezone.activate(sometz)這裏詳細https://docs.djangoproject.com/en/1.5/topics/i18n/timezones/#selecting-the-current-time-zone - 做一對夫婦測試視圖之間切換tzs應該足以看看是否導致您的問題。這會爲線程激活它,因此根據您的用戶使用您網站的模式,您可能需要按照該文檔頁面中所述通過中間件調用激活。

+0

謝謝。但是,我打開了TZ = True。用sql NOW()查詢手動輸入日期到數據庫。使用Django加載內容時。它改變-7時區與TZ =真。當TZ = False時,Django會從數據庫中完全打印相同的時間 – joseph