工作中總能用到time, datetime模組,多數時候用於時間日期不同格式間的轉換。如果沒有熟練掌握各函式用法,那麼將不能快速解決問題。今天詳細整理一下time模組的用法,有不當之處還請指正。
先上總結:
import time
time.time() # 返回當前時間戳
time.mktime(tupletime) # 接受時間元組,返回時間戳
time.localtime(secs) # 接收時間戳,返回時間元組
time.strptime(date_str,fmt) # 接收日期,返回時間元組
time.asctime(tupletime) # 接收時間元組,返回格式化日期
time.strftime(fmt,tupletime) # 接收時間元組,返回格式化日期
從上面可以看出,主要有三類資料:時間戳,時間元組,格式化日期。主要的操作就是三類資料間的轉換。
下面結合例項來實踐一下,彼此之前的轉換。
1.當前時間戳
time.time() # 當前時間戳
>>>1533103691.808361
2. 當前時間元組
time.localtime() # 當前時間元組
>>>time.struct_time(tm_year=2018, tm_mon=8, tm_mday=1, tm_hour=14, tm_min=10, tm_sec=46, tm_wday=2, tm_yday=213, tm_isdst=0)
解釋一下時間元組裡引數意思:
tm_year : 當前年份, tm_mon : 當前月份, tm_mday : 當前月的日期,
tm_hour : 當前小時, tm_min : 當前分鐘, tm_sec : 當前秒數,
tm_wday : 星期(從0開始), tm_yday : 一年中第幾天, tm_isdst : 是否夏令時。
那麼元組的引數有什麼用呢,比如可以獲取當前年份、月份、一年中第幾天等。
time.localtime().tm_yday # 一年中第幾天
>>>213
time.localtime().tm_year # 年份
>>>2018
time.localtime().tm_mon # 月份
>>>8
3.按0000-00-00 00:00:00顯示當前日期時間
time.strftime('%y-%m-%d %h:%m:%s',time.localtime()) # 當前日期時間
>>>'2018-08-01 14:24:08'
4.把指定日期時間轉換成時間戳 - 按照日期形式補格式化引數
s = "sat mar 28 22:24:24 2016"
time.mktime(time.strptime(s,"%a %b %d %h:%m:%s %y")) # 將指定日期轉換成時間戳
>>>1459175064.0
s = '2018-05-20 14:32:29'
time.mktime(time.strptime(s,'%y-%m-%d %h:%m:%s')) # 將指定日期轉換成時間戳
>>>1526797949.0
5.把指定日期時間轉成時間元組- 按照日期形式補格式化引數
s = '2018-05-20 14:32:29'
time.strptime(s,'%y-%m-%d %h:%m:%s') # 轉成時間元組
>>>time.struct_time(tm_year=2018, tm_mon=5, tm_mday=20, tm_hour=14, tm_min=32, tm_sec=29, tm_wday=6, tm_yday=140, tm_isdst=-1)
6.把指定時間戳轉成格式化日期時間
time.strftime('%y-%m-%d %h:%m:%s',time.localtime(1526797949)) # 把時間戳轉成格式化日期時間
>>>'2018-05-20 14:32:29'
7.獲取指定日期時間兩天後的日期時間 - 先獲取時間戳,再計算兩天後的時間戳,然後再轉成格式化日期
s = '2018-05-20 10:32:29'
timestamp = time.mktime(time.strptime(s,'%y-%m-%d %h:%m:%s')) # 獲取時間戳
next_time = timestamp+3600*24*2 # 兩天後的時間戳
time.strftime('%y-%m-%d %h:%m:%s',time.localtime(next_time)) # 獲取格式化日期
>>>'2018-05-22 10:32:29'
Python time模組操作
參考 python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。時間間隔是以秒為單位的浮點小數。每個時間戳都以自從1970年1月1日午夜 曆元 經過了多長時間來表示。python 的 time ...
python time模組詳解
time模組中時間表現的格式主要有三種 a timestamp時間戳,時間戳表示的是從1970年1月1日00 00 00開始按秒計算的偏移量 b struct time時間元組,共有九個元素組。c format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。1 時間...
python time時間模組
想讓程式停頓幾秒鐘 time.sleep 秒數 例如 print 1 time.sleep 2 print 2 結果,在列印了1後會停2秒,然後再列印2 三種時間格式 時間戳,是計算機可識別的乙個時間形態 格式化時間字串,是人類可識別的乙個時間形態 時間元組,則是二個時間的過渡體 可以把這三者間的關...