python進階之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代表夏令時)

時間轉換圖解

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM