DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题
生活随笔
收集整理的這篇文章主要介紹了
DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近開始使用Django開發一些系統,在models.py中設置一些數據庫表結構并給日期時間字段賦初值,不過在使用的過程中,遇到一點問題。問題是,我本來服務器使用的市區是“Asia/Shanghai”(+08:00),然后用datetime.now保存到數據庫中時,里面的時間總是比我的系統時間相差8小時(感覺是UTC時間),但是我也查看了MySQL數據庫中的時區是“+08:00”的(在MySQL中“SET GLOBAL time_zone = ‘+08:00’;”語句可以設置時區)。這到底是什么原因呢?今天還花了不少時間來弄清楚這個問題。
解決方法:
如果不需要在程序中特別處理時區(timezone-aware),
在Django項目的settings.py文件中,可以直接設置為“USE_TZ = False”就省心了。
然后,在models.py中簡單的設置為“ create_time = models.DateTimeField(auto_now_add=True)”和“update_time = models.DateTimeField(auto_now=True)”。
總結
以上是生活随笔為你收集整理的DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下安装jdk,非常简单的操作
- 下一篇: Pycharn比较好的配色方案