包括多種處理不同格式時間數據的函數。
時間的標準表示形式有兩種:一種是UTC(格林尼治標準時間GMT)表示,它可以是整數或浮點數(代表秒的分數)。在Unix上,通常是從1970年1月1日開始。
另一種是使用包括9個整型數字的元組表示,其中整型數字及其取值範圍如下:
tm_year (比如1998)
tm_mon (1-12)
tm_mday (1-31)
tm_hour (0-23)
tm_min (0-59)
tm_sec (0-59)
tm_wday (0-6,星期一是0)
tm_yday (1-366,一年中的第幾天)
tm_isdst DST(Daylight Savings Time) flag (-1, 0 or 1)
0:標準時區
1:DST時區
-1:基於日期和時間
常用方法
time模塊包括多種時間函數,下面僅介紹常用函數,包括clock、sleep、time、localtime、gmtime、asctime、ctime和strptime。
其中localtime和gmtime將時間戳轉化爲元組格式;asctime和ctime分別將元組格式和時間戳轉化爲字符串格式;strptime將任意字符串格式時間解析爲元組格式。
函數的具體介紹見註釋,示例見下文。
time.clock() -> floating point number
#返回自進程開始以來或自第一次調用clock()以來的CPU時間或實時時間,精度取決於系統
time.sleep(seconds)
#延遲函數,輸入爲float類型,單位爲秒
time.time() -> floating point number
#返回時間戳,使用秒數表示。起始時間1970.1.1
time.localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
tm_sec,tm_wday,tm_yday,tm_isdst)
#將輸入時間戳轉化爲當地時間元組數據。若輸入爲空,則返回當前時間。
time.gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,
tm_sec, tm_wday, tm_yday, tm_isdst)
#將輸入時間戳轉化爲GMT時間元組數據。若輸入爲空,則返回當前時間。
*注:*gmtime和localtime的區別是返回對象的時間時區不同,但是格式相同。
time.asctime([tuple]) -> string
#將輸入時間元組數據(9個參數)轉化爲字符串格式。若輸入爲空,則返回當前時間字符串。
time.ctime(seconds) -> string
#將輸入時間戳轉化爲字符串格式。若輸入爲空,則返回當前時間字符串。
time.strptime(string, format) -> struct_time
#根據format格式將字符串string解析爲時間元組
'''
格式化符號:
%Y 年
%m 月[01,12]
%d 日[01,31]
%H 小時[00,23]
%M 分[00,59]
%S 秒[00,61]
%z 時區偏移時間
%a 星期縮寫
%A 星期
%b 月份縮寫
%B 月
%I 小時(12小時制)[01,12]
%p AM或PM
'''
示例
clock
import time
time.clock() #93.811006
sleep
import time
time.localtime().tm_sec #42
time.sleep(2)
time.localtime().tm_sec #44
#相差2,表示休眠了2秒
time
import time
time.time() #1582348453.2869315
localtime
import time
time.localtime()
#time.struct_time(tm_year=2020, tm_mon=2, tm_mday=22, tm_hour=13, tm_min=16, tm_sec=4, tm_wday=5, tm_yday=53, tm_isdst=0)
time.localtime().tm_year
#2020 也可以直接這樣調用屬性
gmtime
import time
time.gmtime()
#time.struct_time(tm_year=2020, tm_mon=2, tm_mday=22, tm_hour=5, tm_min=16, tm_sec=4, tm_wday=5, tm_yday=53, tm_isdst=0)
#gmtime顯示的是GMT,localtime顯示的是中國時間(博主位置),中國位於東八區,所以差8小時
asctime
import time
time.asctime()
#'Sun Feb 23 00:55:18 2020'
time.asctime((2019,1,1,5,16,4,5,53,0))
#'Sat Jan 1 05:16:04 2019' 參數不能缺少。輸入時間可以不符合客觀事實。
ctime
import time
time.ctime(1582348453.2869315)
#'Sat Feb 22 13:14:13 2020'
strptime
import time
time.strptime('2019/10/1 00:12:34','%Y/%m/%d %H:%M:%S')
#time.struct_time(tm_year=2019, tm_mon=10, tm_mday=1, tm_hour=0, tm_min=12, tm_sec=34, tm_wday=1, tm_yday=274, tm_isdst=-1)
#可以根據給定時間字符串的格式進行解析,提取需要的時間信息