help(time)之后可以知道time有2種時(shí)間表示形式:
1絮短、時(shí)間戳表示法:即以整型或浮點(diǎn)型表示的是一個(gè)以秒為單位的時(shí)間間隔。這個(gè)時(shí)間的基礎(chǔ)值是從1970年的1月1號(hào)零點(diǎn)開(kāi)始算起优烧。
2、元組格式表示法:即一種Python的數(shù)據(jù)結(jié)構(gòu)表示舀武。這個(gè)元組有9個(gè)整型內(nèi)容(不能少)矫户,分別表示不同的時(shí)間含義猿棉。
常用功能:
名詞解釋?zhuān)?br>
UTC(Coordinated?Universal?Time磅叛,世界協(xié)調(diào)時(shí))亦即格林威治天文時(shí)間,世界標(biāo)準(zhǔn)時(shí)間萨赁。在中國(guó)為UTC+8弊琴。
DST(Daylight?Saving?Time)即夏令時(shí)。是一種為節(jié)約能源而人為規(guī)定地方時(shí)間的制度杖爽,一般在天亮早的夏季人為將時(shí)間提前一小時(shí)敲董。
包含的變量:
timezone?--當(dāng)?shù)貢r(shí)間與標(biāo)準(zhǔn)UTC時(shí)間的誤差,以秒計(jì)
altzone?--當(dāng)?shù)叵牧顣r(shí)時(shí)間與標(biāo)準(zhǔn)UTC時(shí)間的誤差慰安,以秒計(jì)
daylight?--當(dāng)?shù)貢r(shí)間是否反映夏令時(shí)腋寨,默認(rèn)為0
zname?--關(guān)于(標(biāo)準(zhǔn)時(shí)區(qū)名稱(chēng),夏令時(shí)時(shí)區(qū)名稱(chēng))的元組
1、time.localtime([secs]):將一個(gè)時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)區(qū)的struct_time化焕。secs參數(shù)未提供萄窜,則以當(dāng)前時(shí)間為準(zhǔn)。
2撒桨、time.gmtime([secs]):和localtime()方法類(lèi)似查刻,gmtime()方法是將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)區(qū)(0時(shí)區(qū))的struct_time。
3凤类、time.time():返回當(dāng)前時(shí)間的時(shí)間戳
4穗泵、time.mktime(t):將一個(gè)struct_time轉(zhuǎn)化為時(shí)間戳
5、time.sleep(secs):線程推遲指定的時(shí)間運(yùn)行谜疤。單位為秒
6佃延、time.clock():這個(gè)需要注意,在不同的系統(tǒng)上含義不同夷磕。在UNIX系統(tǒng)上苇侵,它返回的是“進(jìn)程時(shí)間”,它是用秒表示的浮點(diǎn)數(shù)(時(shí)間戳)企锌。而在WINDOWS中榆浓,第一次調(diào)用,返回的是進(jìn)程運(yùn)行的實(shí)際時(shí)間撕攒。而第二次之后的調(diào)用是自第一次調(diào)用以后到現(xiàn)在的運(yùn)行時(shí)間陡鹃。(實(shí)際上是以WIN32上QueryPerformanceCounter()為基礎(chǔ)烘浦,它比毫秒表示更為精確)
7、time.asctime([t]):把一個(gè)表示時(shí)間的元組或者struct_time表示為這種形式:'Sun Jun 20 23:21:05 1993'萍鲸。如果沒(méi)有參數(shù)闷叉,將會(huì)將time.localtime()作為參數(shù)傳入
8、time.ctime([secs]):把一個(gè)時(shí)間戳(按秒計(jì)算的浮點(diǎn)數(shù))轉(zhuǎn)化為time.asctime()的形式脊阴。如果參數(shù)未給或者為None的時(shí)候握侧,將會(huì)默認(rèn)time.time()即當(dāng)前時(shí)間戳為參數(shù)。它的作用相當(dāng)于time.asctime(time.localtime(secs))嘿期。
9品擎、time.strftime(format[,t]):把一個(gè)代表時(shí)間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉(zhuǎn)化為格式化的時(shí)間字符串。如果t未指定备徐,將傳入time.localtime()萄传。如果元組中任何一個(gè)元素越界,ValueError的錯(cuò)誤將會(huì)被拋出蜜猾。
10秀菱、time.strptime(string[,format]):把一個(gè)格式化時(shí)間字符串轉(zhuǎn)化為struct_time。實(shí)際上它和strftime()是逆操作蹭睡。在這個(gè)函數(shù)中衍菱,format默認(rèn)為:"%a %b %d %H:%M:%S %Y"。
總結(jié):根據(jù)之前描述肩豁,在Python中共有三種表達(dá)方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串脊串。它們之間的轉(zhuǎn)化如圖所示:
格式化字符串常用格式:
備注:
“%p”只有與“%I”配合使用才有效果。
文檔中強(qiáng)調(diào)確實(shí)是0 - 61蓖救,而不是59洪规,閏年秒占兩秒(汗一個(gè))。
當(dāng)使用strptime()函數(shù)時(shí)循捺,只有當(dāng)在這年中的周數(shù)和天數(shù)被確定的時(shí)候%U和%W才會(huì)被計(jì)算斩例。