什麼是navie時間?什麼是aware時間?python
專門用來處理時區的庫。這個庫會常常更新一些時區的數據,不須要咱們擔憂。而且這個庫在安裝Django的時候會默認的安裝。若是沒有安裝,那麼能夠經過pip install pytz
的方式進行安裝。app
將一個時區的時間轉換爲另一個時區的時間。這個方法只能被aware
類型的時間調用。不能被navie
類型的時間調用。示例代碼以下(Linux環境下進入python環境):spa
import pytz from datetime import datetime now = datetime.now() # 這是一個navie類型的時間 utc_timezone = pytz.timezone("UTC") # 定義UTC的時區對象 utc_now = now.astimezone(utc_timezone) # 將當前的時間轉換爲UTC時區的時間 >> ValueError: astimezone() cannot be applied to a naive datetime # 會拋出一個異常,緣由就是由於navie類型的時間不能調用astimezone方法 now = now.replace(tzinfo=pytz.timezone('Asia/Shanghai')) utc_now = now.astimezone(utc_timezone) # 這時候就能夠正確的轉換。
能夠將一個時間的某些屬性進行更改。code