python——time模塊

包括多種處理不同格式時間數據的函數。

時間的標準表示形式有兩種:一種是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)
#可以根據給定時間字符串的格式進行解析,提取需要的時間信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章