Django設置時區為TIME_ZONE = 'Asia/Shanghai' USE_TZ = True后,存入mysql中的時間只能是UTC時間?


因為Mysql存儲的時間不能靈活設置時區,不像datetime對象有一項參數專門指定時區,所以為了統一全球的時間,必須使用國際標准時間UTC,否則就會亂套。
所有時間在存如數據庫前,必須轉換成UTC時間。比如北京時間8點,存入mysql變成0點(UTC)。

官方文檔,https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/

當使用時區時,Django存儲在數據庫中的所有日期時間信息都以UTC時區為准,在后台使用有時區的datetime,前台用戶使用時,在網頁上翻譯成用戶所在的時區。

看完后,一切疑慮都消除了,不是Django設置有誤,也不是Mysql設置有誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM