django預設的時區是utc,平時是沒有什麼影響的,但是在需要將時間戳轉換成本時區的時間或者是獲取當前的本地的localtime的時候就出現了問題。之前程式在測試時是執行在windows環境,所以即使settings.py中的time_zone使用預設時區,django也會根據本機的時區使用當前時區時間。然而程式放到linux執行程式時,django的時區會使用settings.py中的time_zone設定的時區,所以這時就出現了問題。再有當我用指令碼在linux上測試或者直接進入python環境的時候,執行time.localtime(),顯示本機所在時區的當前時間。
'''我的django程式中的一部分,這部分功能是將使用者的聊天時間戳轉化為格式化時間。由於我使用的預設時區utc,原以為在linux環境中會像windows環境中一樣會使用機器設定的時區的時間,
結果並不是,而是使用了預設時區的時間。
'''import
time
send_time = 1543524392day = time.strftime('
%y-%m-%d %h:%m:%s
', time.localtime(send_time))
print day #
2018-11-29 20:46:32--->utc **中列印出來的時間是utc時間
Django 和時區設定的問題
written on wednesday,august 19,2009 django 1.1 及其之前的版本,時區處理這一塊算是比較混亂的了 依賴資料庫管理系統本身 django 針對 postgresql 做了特殊處理 跨平台能力弱 python 標準庫的 tz 環境變數依賴 nix 作業系統 w...
django時區設定 timezone
django時區設定 timezone 預設 timezone america chicago 以前的版本,現在的版本預設的都是utc時間。chicago時間,為utc gmt 6 小時 部署到伺服器上,如果將timezone設定為none,則會使用伺服器的時區。正常情況下使用時區的情況是 1.如果...
關於django的時區設定
django如果開啟了time zone功能,則所有的儲存和內部處理,甚至包括直接print顯示全都是utc的。只有通過模板進行表單輸入 渲染輸出的時候,才會執行utc本地時間的轉換。所以我建議後台處理時間的時候,最好完全使用utc,不要考慮本地時間的存在。而顯示時間的時候,也避免手動轉換,盡量使用...