天天看點

navie時間和aware時間

navie時間:不知道自己的時間表示的是哪個時區的。也就是不知道自己幾斤幾兩。比較幼稚。

aware時間:知道自己的時間表示的是哪個時區的。也就是比較清醒。

專門用來處理時區的庫。這個庫會經常更新一些時區的資料,不需要我們擔心。并且這個庫在安裝Django的時候會預設的安裝。如果沒有安裝,那麼可以通過<code>pip install pytz</code>的方式進行安裝。

将一個時區的時間轉換為另外一個時區的時間。這個方法隻能被<code>aware</code>類型的時間調用。不能被<code>navie</code>類型的時間調用。

示例代碼如下:

可以将一個時間的某些屬性進行更改。

會根據<code>settings.py</code>中是否設定了<code>USE_TZ=True</code>擷取目前的時間。如果設定了,那麼就擷取一個<code>aware</code>類型的<code>UTC</code>時間。如果沒有設定,那麼就會擷取一個<code>navie</code>類型的時間。

會根據<code>setting.py</code>中的<code>TIME_ZONE</code>來将一個<code>aware</code>類型的時間轉換為<code>TIME_ZONE</code>指定時區的時間。

日期類型。在<code>Python</code>中是<code>datetime.date</code>類型,可以記錄年月日。在映射到資料庫中也是<code>date</code>類型。使用這個<code>Field</code>可以傳遞以下幾個參數:

<code>auto_now</code>:在每次這個資料儲存的時候,都使用目前的時間。比如作為一個記錄修改日期的字段,可以将這個屬性設定為<code>True</code>。

<code>auto_now_add</code>:在每次資料第一次被添加進去的時候,都使用目前的時間。比如作為一個記錄第一次入庫的字段,可以将這個屬性設定為<code>True</code>。

日期時間類型,類似于<code>DateField</code>。不僅僅可以存儲日期,還可以存儲時間。映射到資料庫中是<code>datetime</code>類型。這個<code>Field</code>也可以使用<code>auto_now</code>和<code>auto_now_add</code>兩個屬性。

時間類型。在資料庫中是<code>time</code>類型。在<code>Python</code>中是<code>datetime.time</code>類型。

https://docs.djangoproject.com/en/2.0/topics/i18n/timezones/

來源: 知了課堂