天天看點

python進階之time子產品詳解

python進階之time子產品詳解

Time子產品

Time子產品包含的函數

Time子產品包含了一下内置的函數,既有時間處理的,也有轉換時間格式的:

Time子產品包含的函數

Time子產品包含了一下内置的函數,既有時間處理的,也有轉換時間格式的:

序号	函數及描述
1	time.altzone
      傳回格林威治西部的夏令時地區的偏移秒數。如果該地區在格林威治東部會傳回負值(如西歐,包括英國)。對夏令時啟用地區才能使用。
2	time.asctime([tupletime])
      接受時間元組并傳回一個可讀的形式為"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18時07分14秒)的24個字元的字元串。
3	time.clock( )
      用以浮點數計算的秒數傳回目前的CPU時間。用來衡量不同程式的耗時,比time.time()更有用。
4	time.ctime([secs])
      作用相當于asctime(localtime(secs)),未給參數相當于asctime()
5	time.gmtime([secs])
      接收時間戳(1970紀元後經過的浮點秒數)并傳回格林威治天文時間下的時間元組t。注:t.tm_isdst始終為0
6	time.localtime([secs])
      接收時間戳(1970紀元後經過的浮點秒數)并傳回當地時間下的時間元組t(t.tm_isdst可取0或1,取決于當地當時是不是夏令時)。
7	time.mktime(tupletime)
      接受時間元組并傳回時間戳(1970紀元後經過的浮點秒數)。
8	time.sleep(secs)
      推遲調用線程的運作,secs指秒數。
9	time.strftime(fmt[,tupletime])
      接收以時間元組,并傳回以可讀字元串表示的當地時間,格式由fmt決定。
10	time.strptime(str,fmt=\'%a %b %d %H:%M:%S %Y\')
      根據fmt的格式把一個時間字元串解析為時間元組。
11	time.time( )
      傳回目前時間的時間戳(1970紀元後經過的浮點秒數)。
12	time.tzset()
      根據環境變量TZ重新初始化時間相關設定。 
      

下面我們分别解釋每一個函數的用法

altzone()

參數:無

傳回值:傳回格林威治西部的夏令時地區的偏移描述。如果該地區在格林威治東部會傳回負值(如西歐,包括美國)

文法:

>>> time.altzone
-32400
>>>      

asctime()

參數:9個元素的元祖或者通過函數gmtime()或localtime()傳回的時間值

傳回值:傳回一個可讀的形式為"Tue Dec 11 18:07:14 2008"(2018年10月11日 周二18時07分14秒)的24個字元的字元串。

文法:

>>> time.asctime()
\'Tue Oct 23 16:27:39 2018\'
>>> time.asctime(time.localtime())
\'Tue Oct 23 16:28:08 2018\'
      

clock()

參數:無

傳回值:

該函數有兩個功能,

在第一次調用的時候,傳回的是程式運作的實際時間;

以第二次之後的調用,傳回的是自第一次調用後,到這次調用的時間間隔

文法:

print(time.clock())
for i in range(1, 100):
    print(i)
print(time.clock())
      

輸出結果:

0.0
6.6986723828671e-05
      

ctime()

參數: 要轉換為字元串時間的秒數

傳回值:無

文法:

>>> time.ctime()
\'Tue Oct 23 16:38:18 2018\'
>>> time.ctime(1024)
\'Thu Jan  1 08:17:04 1970\'
      

gmtime()

參數:轉換為time.stryct_time類型的對面的秒數

傳回值:無

文法:

>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=23, tm_hour=8, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=296, tm_isdst=0)
>>> time.gmtime(45)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=45, tm_wday=3, tm_yday=1, tm_isdst=0)
>>> time.gmtime(2)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=2, tm_wday=3, tm_yday=1, tm_isdst=0)
>>>
      

locatime()

參數:轉換為time.struct_time類型的對面的秒數

傳回值:無

文法:

>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=23, tm_hour=16, tm_min=44, tm_sec=6, tm_wday=1, tm_yday=296, tm_isdst=0)
      

sleep()

參數:推遲執行的秒數

傳回值:無

文法:

print(time.ctime())
time.sleep(5)
print(time.ctime())
      

輸出結果:

Tue Oct 23 16:49:45 2018
Tue Oct 23 16:49:50 2018
      

strftime(format[, t ])

參數:format  - 格式字元串 t - 可選的參數t是一個struct_time對象

傳回值:可讀字元串辨別的當地時間

說明:

python 中時間日期格式化符号

%y 兩位數的年份表示(00-99)
    %Y 四位數的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小時制小時數(0-23)
    %I 12小時制小時數(01-12)
    %M 分鐘數(00=59)
    %S 秒(00-59)
    %a 本地簡化星期名稱
    %A 本地完整星期名稱
    %b 本地簡化的月份名稱
    %B 本地完整的月份名稱
    %c 本地相應的日期表示和時間表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等價符
    %U 一年中的星期數(00-53)星期天為星期的開始
    %w 星期(0-6),星期天為星期的開始
    %W 一年中的星期數(00-53)星期一為星期的開始
    %x 本地相應的日期表示
    %X 本地相應的時間表示
    %Z 目前時區的名稱
    %% %号本身
      

文法:

>>> time.strftime("%Y %m %d %H:%M:%S")
\'2018 10 23 16:57:02\'
      

time()

參數:無

傳回值:傳回目前時間的時間戳(1970紀元後經過的浮點秒數)

print ("time.time(): %f " %  time.time())
print (time.asctime( time.localtime(time.time()) ))
      

輸出結果:

time.time(): 1540285177.428731 
Tue Oct 23 16:59:37 2018
      

時間元祖:

索引值(index) 	屬性(Attribute) 	值(Values)
0 	tm_year(年) 	(例如:2015)
1 	tm_mon(月) 	1-12
2 	tm_mday(日) 	1-31
3 	tm_hour(時) 	0-23
4 	tm_min(分) 	0-59
5 	tm_sec(秒) 	0-61(60代表閏秒,61是基于曆史原因保留)
6 	tm_wday(星期幾) 	0-6(0表示星期一)
7 	tm_yday(一年中的第幾天) 	1-366
8 	tm_isdst(是否為夏令時) 	0,1,-1(-1代表夏令時)
      

時間轉換圖解

  

python進階之time子產品詳解