1. 時間信息的表示
1.1 time.struct_time
time
模塊定義了一個時間數(shù)據(jù)結(jié)構(gòu)time.struct_time
(網(wǎng)上大部分都稱為時間數(shù)組)酒繁,如下:
import time
print(time.localtime(time.time()))
================================================================================================
>> time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=53, tm_sec=32, tm_wday=2, tm_yday=361, tm_isdst=0)
括號里從左到右依次是年月日時分秒,tm_wday
以一周為周期控妻,周一為0
,周二為1
揭绑,...弓候,周日為6
。tm_yday
代表一年中的第幾天他匪,從1
月1
日tm_yday=1
開始菇存,一直到12
月31
日tm_yday=365(366)
結(jié)束。最后一個參數(shù)不知道邦蜜。
1.2 時間戳
unix
時間戳是從1970
年1
月1
日(UTC/GMT
的午夜)開始所經(jīng)歷的秒數(shù)依鸥。如果把時間看成一根數(shù)軸,原點選在1970
年1
月1
日(UTC/GMT
的午夜)悼沈,時間戳就可以表示1970
年1
月1
日(UTC/GMT
的午夜)后任一時刻到原點的距離贱迟。time
模塊中使用浮點數(shù)float
表示時間戳姐扮。使用時間戳可以很方便的進行時差等運算,但是不方便人類閱讀衣吠。
1.3 格式化的字符串
除了以上兩種形式以外茶敏,還可以使用格式化的字符串來表示時間。例如2017-12-31 14:28:36
的格式為%Y-%m-%d %H:%M:%S
缚俏,2017/12/31 14:28:36
的格式為%Y/%m/%d %H:%M:%S
惊搏。當然也可以使用漢字,2017年12月31日 14時28分36秒
的格式為%Y年%m月%d日 %H時%M分%S秒
忧换。即以%Y
表示年恬惯,%m
表示月,%d
表示日亚茬,%H
表示時酪耳,%M
表示分,%S
表示秒才写。
2. 不同時間表示方式的轉(zhuǎn)換
2.1 格式化字符串與時間數(shù)組之間的轉(zhuǎn)換
-
time.strptime(string, format)
用于把格式化的字符串轉(zhuǎn)換為時間數(shù)組葡兑,字符串的格式通過format
參數(shù)指定 -
time.strftime(format[, tuple])
用于把時間數(shù)組按照format
參數(shù)指定的格式轉(zhuǎn)換為格式化的字符串
2.2 時間戳與時間數(shù)組之間的相互轉(zhuǎn)換
-
time.localtime([seconds])
用于把時間戳轉(zhuǎn)換為相對應(yīng)的時間數(shù)組,seconds
是可選的赞草,如果不指定讹堤,默認時間戳為當前時間戳 -
time.mktime(tuple)
用于把時間數(shù)組轉(zhuǎn)換為時間戳
2.3 時間戳與格式化字符串的轉(zhuǎn)換
這個需要使用時間數(shù)組作為中介,先把時間戳轉(zhuǎn)換為時間數(shù)組厨疙,然后把時間數(shù)組轉(zhuǎn)換為格式化的字符串(或者反之)
3. 獲取當前時間信息
time.time()
可以用來獲取這個函數(shù)調(diào)用時刻的時間信息洲守。這個函數(shù)不接受參數(shù),直接返回當前時刻對應(yīng)的時間戳沾凄。