Python之時間處理模塊time
一、簡述
time模塊下有兩種時間表示方法,一種是:時間戳的方式,是基于1970年1月1日0時0分0秒的偏移,第二種方式是struct_time()類型的表示方法。
---------------------------------------------------------------------------------
二、詳情
首先當然是要import一下time模塊:
import time之后我們介紹該模塊下的幾個常用函數
1. time.time() 返回自1970年1月1日到目前為止的秒數,即所謂的時間戳,是一個浮點數。我對此表示懷疑,所以type一下,果然是浮點數:
type(time.time())對于高檔的攻城獅而言,記住1970年1月1日是應該的,就像你應該知道1949年10月1日一樣。
2. time.sleep() 用于掛起當前線程,它接受一個浮點數,表示掛起時間,單位是秒。比如:
time.sleep(2.5) #將當前線程掛起2.5秒,休息2.5秒,讓子彈再飛一會兒吧
3. time.clock() 用于返回第一次調用該方法到現在的秒數,傳說可精確到微妙,我對此很懷疑,測試一下,至少在windows上是不那么靠譜的,測試一下:
import time time.clock() time.sleep(1.2) print time.clock()
4. time.gmtime([sec]) 可選參數[sec]表示自1970年1月1日以來的秒數,默認值是time.time(),即當前的累積秒數,此函數返回一個time.struct_time類型對象,這個對象包括年份,日月,星期,天數,時分秒等描述時間的信息。
import time time.gmtime() #返回當前時間對應的time_struct類型對象 time.gmtime(time.time()-24*60*60) #返回昨天此時對應的time_struct對象
5. time.localtime() 和time.gmtime()一樣,剛開始我打印time.gmtime()發現時間上不對,結果發現還有個time.localtime(),試一下這個就對上了,原來localtime才是返回本地時間對應的一個time_struct對象的,而gmtime()大概就是返回一個國際標準時間對應的struct_time對象吧!
6. time.mktime() 和上述兩個函數的操作相反,用于將structt_time對象轉換為累加秒數,可這樣測試一下,他們的結果應該大致相當
import time print time.time() print time.mktime(time.localtime()) print time.mktime(time.gmtime())
7. time.strftime() 將時間按照給定格式解釋為時間字符串,函數原型為:time.strftime(format [,t]) 其中t為一個struct_time對象,至于你想要得格式可按照你的要求自由組合,但就像C中的printf函數一樣,用%控制符來控制
import time print time.strftime('%Y-%m-%d %H:%M:%S') print time.strftime('%w,%j',time.gmtime())
可總結下這些百分號控制符的用法,如下:
%Y 對應年份四位數表示
%y 對應年份兩位數表示
%m 對應月份
%d 對應日期
%H 對應時間 24小時制
%I 對應時間12小時制
%M 對應分鐘
%S 對應秒鐘
%j 對應一年中的第幾天
%w
對應星期
%W一年中的星期數
8. time.strptime()將時間字符串解釋為一個struct_time對象,它接收兩個字符串參數,用法如下示例:
import time print time.strptime('2009-06-23 15:30:53', '%Y-%m-%d %H:%M:%S')
9. time.ctime()將一個時間戳轉換成一個字符串,默認為當前時間戳