UTC與DST
UTC可以視為一個世界統一的時間,以原子時為基礎,其他時區的時間都是在這個基礎上增加或減少的,比如中國的時區就為UTC+8。
DST(夏時制)則是為了充分利用夏天日照長的特點,充分利用光照節約能源而人為調整時間的一種機制。通過在夏天將時間向前加一小時,使人們早睡早起節約能源。雖然很多西方國家都采用了DST,但是中國不采用DST。
1. 時區問題
首先是時區的問題,Django 默認使用的是 UTC 世界協調時,又叫世界統一時間。中國的時間與 UTC 的時差是+8小時,也就是中國時間=UTC+8。
若使用 TIME_ZONE = 'UTC',則模板中顯示的時間就是讀取到的時間。
若使用 TIME_ZONE = 'Asia/Shanghai' ,則模板中顯示的時間就是讀取到的時間+8。
如圖1和圖2所示。

圖1 TIME_ZONE = 'Asia/Shanghai'

圖2 TIME_ZONE = 'UTC'
2. 時間在模板中的顯示問題
在數據庫中,時間是這樣顯示的2017-07-09 11:50:30
假設這個時間我們用變量time表示。
第一種:
模板:{{ time }}
settings中的語言編碼: LANGUAGE_CODE = 'en-us'
渲染出來的格式: July 9, 2017, 11:50 a.m.
第二種
模板:{{ time }}
settings中的語言編碼: LANGUAGE_CODE = 'zh-Hans'
渲染出來的格式: 2017年7月9日 11:50
第三種
模板: {{ time|date:"Y-m-d H:i:s" }}
settings中的語言編碼: 以上兩種皆可
渲染出來的格式: 2017-07-09 11:50:30
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。
新聞熱點
疑難解答