Django模型層的DateTimeField、DateField字段設置時間格式為顯示當前年月日時分秒的時間格式及時區


1、

https://www.cnblogs.com/guanxiying/p/13252167.html

創建django的model時,有DateTimeField、DateField和TimeField三種類型可以用來創建日期字段,其值分別對應着datetime()、date()、time()三中對象。這三個field有着相同的參數auto_now和auto_now_add,表面上看起來很easy,但實際使用中很容易出錯,下面是一些注意點。

models.py文件添加創建時間和更新時間

createtime=models.DateTimeField(auto_now_add=True,null=True,blank=True)
updatetime=models.DateTimeField(auto_now=True,null=True,blank=True)

 2、修改時區問題

https://www.jianshu.com/p/8b581f13433a

setting.py文件修改時區為上海時區
datetime.datetime.now()獲取的時間django會把這個時間當成UTC時間存儲到數據庫中去。如果修改設置為USE_TZ=True與TIME_ZONE = 'Asia/Shanghai',用datetime.datetime.now()獲取的時間由於不帶時區,django會把這個時間當成Asia/Shanghai時間,即東八區時間,然后django會把這個時間轉成帶時區UTC時間存儲到數據庫中去,而讀的時候直接按UTC時間讀出來,這就是網上很多人遇到的存儲到數據庫中的時間比本地時間會小8個小時的原因。


免責聲明!

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



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