因為Mysql存儲的時間不能靈活設置時區,不像datetime對象有一項參數專門指定時區,所以為了統一全球的時間,必須使用國際標准時間UTC,否則就會亂套。
所有時間在存如數據庫前,必須轉換成UTC時間。比如北京時間8點,存入mysql變成0點(UTC)。
官方文檔,https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/
當使用時區時,Django存儲在數據庫中的所有日期時間信息都以UTC時區為准,在后台使用有時區的datetime,前台用戶使用時,在網頁上翻譯成用戶所在的時區。
看完后,一切疑慮都消除了,不是Django設置有誤,也不是Mysql設置有誤。
