今天使用django ORM 將獲取到的時間入庫,並未出現問題,但是后來發現時間晚了8小時,經查詢Django官方文檔發現獲取本地時間和UTC時間有差別。
首先科普下:
UTC是協調世界時 UTC相當於本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整
錯誤如圖:

解決如下:
第一種:修改settings中的配置項
找到settings中的USE_TZ= True,把True改成False即可
第二種:在函數直接傳遞時間參數時,確保時間已經轉換成UTC時間
import datetime
from django.utils.timezone import utc
now = datetime.datetime.utcnow().replace(tzinfo=utc)
