我完全難以保存用戶輸入的日期時間。它可以保存,但是會進行某種時區轉換。我嘗試設置USE_TZ = True和TIME_ZONE ='UTC',但由於某種奇怪的原因,Django保存了我的日期時間,但它從小時開始減少了7。例如,如果我輸入日期時間爲'2014-01-29 16:56:00',當我查看數據庫時,我看到'2014-01-29 09:56:00-07'。我已經閱讀過時區文檔,但我完全不明白爲什麼會發生這種情況。任何幫助將不勝感激!Django在DB保存上轉換日期時間
1
A
回答
1
看來,這不是專門與Django的問題,但更多的與Postgres問題。由於Django會告訴Postgres創建一個「帶時區的時間戳」,因此Postgres會正確存儲時間戳,併爲您直接從Postgres查詢數據時設置一個偏移量,它會向您顯示應用偏移量的時間戳。但是當數據返回到Django時,除非您提供了偏移量,否則偏移量將被刪除。似乎令人困惑,不知道爲什麼這樣做。對於我的特定用例,我選擇編寫自定義字段來創建「無時區的時間戳」。 Django只創建「帶時區的時間戳」,因此解決此問題的唯一方法是:
用SQL修改表。如果使用South,部署到多個環境可能不是最佳選擇。
創建一個自定義字段,創建「沒有時區的時間戳」。這是我決定去的路線。希望這是正確的路線。
謝謝大家試圖幫助我弄清楚這一點。
0
Django文檔狀態默認時區設置爲:
TIME_ZONE = 'America/Chicago'
這裏的鏈接:
https://docs.djangoproject.com/en/dev/ref/settings/#time-zone
他們設置TIME_ZONE
時,也註明了幾個選項。一種選擇是按名稱手動設置,這裏是關Django的文檔的鏈接爲TIME_ZONE
名稱列表:
相關問題
- 1. DB查詢的日期時間轉換
- 2. Django日期時間不正確保存
- 3. 在Django中轉換並轉換回日期時間
- 4. Rails:如何在DB中保存時間時指定日期
- 5. Yii:在DB中保存日期和時間
- 6. 保存日期數組DB
- 7. Django保存日期
- 8. 日期時間錯誤時將更改保存到DB
- 9. 保存日期和時間
- 10. 保存日期時間
- 11. 節省日期時間轉換日期
- 12. 轉換日期時間
- 13. ASP.NET日期/時間轉換
- 14. 轉換日期時間
- 15. 日期時間JodaTime轉換
- 16. 轉換日期時間IST
- 17. 日期時間轉換
- 18. 轉換日期時間
- 19. c#,日期時間轉換
- 20. SQLite日期時間轉換?
- 21. SQL轉換日期時間
- 22. Informatica日期/時間轉換
- 23. 日期時間轉換
- 24. 日期和時間轉換
- 25. 轉換PHP日期時間
- 26. 日期時間轉換
- 27. 日期時間轉換PHP
- 28. Java:日期時間轉換
- 29. XSLT轉換日期時間
- 30. SQL日期時間轉換
是在settings.py中正確設置的時區? – sirFunkenstine
我相信如此,我的設置設置爲TIME_ZONE ='UTC'。我猜更大的問題是,在保存到模型時,Django是否總是嘗試進行某種時區轉換? – tmuzzin