datetime模組裡還包含了乙個datetime類,通過from datetime import datetime匯入的才是datetime這個類。from datetime import datetime
now = datetime.now(
(now)
# out: 2019-02-06 15:08:10.618082
如果僅匯入import datetime,則必須引用全名datetime.datetime。
datetime.now()返回當前日期和時間,其型別是datetime。
獲取指定日期的時間
要指定某個日期和時間,我們直接用引數構造乙個datetime:
我們把2023年1月1日 00:00:00 utc+00:00時區的時刻稱為epoch time,記為0(2023年以前的時間timestamp為負數),當前時間就是相對於epoch time的秒數,稱為timestamp。from datetime import datetime
dt = datetime(
2019,2
,6,15
,15)print
(dt)
# out: 2019-02-06 15:15:00
即:
對應的北京時間是:timestamp =0=
1970-1
-100:
00:00 utc+0:
00
datetime轉換為timestamp:timestamp =0=
1970-1
-108:
00:00 utc+8:
00
timestamp轉換為datetime:from datetime import datetime
dt = datetime(
2019,2
,6,15
,15)dt = dt.timestamp(
(dt)
# dt = 1549437300.0
注意:timestamp是乙個浮點數,它沒有時區的概念,而datetime是有時區的。from datetime import datetime
t =1549437300.0
(datetime.fromtimestamp(t)
)# out: 2019-02-06 15:15:00
把使用者輸入的字串型日期和時間轉換為datetime:使用datetime.strptime()。(datetime.utcfromtimestamp(t)
)# utc時間
把已有datetime格式化為字串顯示給使用者:strftime()。
datetime加減
匯入timedelta類後,可直接用+、-運算子。
本地時間轉換為utc時間from datetime import datetime, timedelta
now = datetime.now(
)ano = now + timedelta(hours =10)
ano = now - timedelta(days =1)
ano = now + timedelta(days =
2, hours =12)
(ano)
# out: 2019-02-09 03:33:25.145653
乙個datetime型別有乙個時區屬性tzinfo,但是預設為none,所以無法區分這個datetime到底是哪個時區,除非強行給datetime設定乙個時區:
可以先通過utcnow()拿到當前的utc時間,再轉換為任意時區的時間。from datetime import datetime, timedelta, timezone
tz_utc_8 = timezone(timedelta(hours=8)
)# 建立時區utc+8:00
總結:
datetime表示的時間需要時區資訊才能確定乙個特定的時間,否則只能視為本地時間。
如果要儲存datetime,最佳方法是將其轉換為timestamp再儲存,因為timestamp的值與時區完全無關。
【python】常用內建模組之itertools
【python】常用內建模組之base64
Python常用內建模組之collections
collections是python內建的乙個集合模組,提供了許多有用的集合類。1.namedtuple namedtuple是乙個函式,它用來建立乙個自定義的tuple物件,並且規定了tuple元素的個數,並可以用屬性而不是索引來引用tuple的某個元素。這樣一來,我們用namedtuple可以很...
Python常用內建模組之contextlib
任何物件,只要正確實現了上下文管理,就可以用於with語句。實現上下文管理是通過enter和exit這兩個方法實現的。例如,下面的class實現了這兩個方法 class query object def init self,name self.name name def enter self pri...
Python常用內建模組之json
json資料就是遵循一種格式的文字資料,用來使 標準化,前後端互動最好的資料格式之一。json資料就是個字串,可以表示python中的資料,比如可以把dict,list等資料統統轉化成json字串,方便交流。json模組四種常用方式 帶s的 json.loads 把json字串轉化為python資料...