時間的表示方法 分爲3種 spa
1.格式化的字符串格式 code
如 2017-11-30 16:02:30blog
2. 時間戳索引
時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量字符串
1 >>> import time 2 >>> time.time() 3 1512029179.848 # 時間戳
3. 元組的方式表達table
總共有9個值class
1 >>> import time 2 >>> time.localtime() 3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=9, tm_sec=37, tm_wday=3, tm_yday=334, tm_isdst=0)
索引(Index) | 屬性(Attribute) | 值(Values) |
---|---|---|
0 | tm_year(年) | 好比2011 |
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 |
6 | tm_wday(weekday) | 0 - 6(0表示週日) |
7 | tm_yday(一年中的第幾天) | 1 - 366 |
8 | tm_isdst(是不是夏令時) | 默認爲-1 |
time模塊的經常使用方法import
1. time.time() 獲取時間戳方法
2. time.sleep() 停頓多長時間,參數爲秒 im
3. time.gmtime() 沒有參數的時候,獲取當前 UTC時間的 元組形式 的時間表達方法,
參數爲時間戳的時候,獲取 時間戳的UTC時間的 元組形式的時間
1 >>> import time 2 >>> time.gmtime() # 沒參數。獲取的是 當前UTC時間的 元組形式 3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=8, tm_min=32, tm_sec=36, tm_wday=3, tm_yday=334, tm_isdst=0) 4 >>> time.gmtime(1512029179.848) #參數爲時間戳 5 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=8, tm_min=6, tm_sec=19, tm_wday=3, tm_yday=334, tm_isdst=0)
4.time.localtime()
當前 本地時間的 元組形式的表達
能夠傳入參數,參數爲時間戳, 返回的是 時間戳表示的 本地時間
1 >>> time.localtime() 2 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=38, tm_sec=55, tm_wday=3, tm_yday=334, tm_isdst=0)
gmtime 和 localtime 都是將 時間戳格式轉換成 元組形式,區別是 gmtime轉化成 UTC時間, localtime 轉化成本地時間也就是UTC + 8小時.
localtime 值的獲取方法
1 >>> t = time.localtime() 2 >>> t.tm_hour 3 16 4 >>> t.tm_min 5 47
5. time.mktime() 將元組的時間 轉換成 時間戳的格式
1 >>> import time 2 >>> t = time.localtime() 3 >>> time.mktime(t) 4 1512032229.0
6.strftime() 將一個元組時間 轉換成 格式化時間
參數格式 strftime(‘格式’, 元組形式的時間)
將一個元組時間 轉換成 格式化時間
1 >>> import time 2 >>> t = time.localtime() 3 >>> t 4 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=2, tm_sec=20, tm_wday=3, tm_yday=334, tm_isdst=0) 5 >>> time.strftime(%Y - %m - %d , t) # 注意加引號 6 SyntaxError: invalid syntax 7 >>> time.strftime('%Y - %m - %d ', t) 8 '2017 - 11 - 30 ' 9 >>> time.strftime('%Y - %m - %d %H : %M : %S', t) 10 '2017 - 11 - 30 17 : 02 : 20' 11 >>> time.strftime(' %H : %M : %S %Y - %m - %d ', t) 12 ' 17 : 02 : 20 2017 - 11 - 30 '
7. time.strptime() 將一個格式化字符串的時間 轉換成 一個元組的形式
1 >>> import time 2 >>> time.localtime() 3 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=23, tm_sec=9, tm_wday=3, tm_yday=334, tm_isdst=0) 4 >>> time.strftime('%Y - %m - %d %H : %M : %S',time.localtime()) 5 '2017 - 11 - 30 17 : 24 : 05' 6 >>> time.strptime('2017 - 11 - 30 17 : 24 : 05' , '%Y - %m - %d %H : %M : %S') # 傳入的字符串時間 的順序,必須和後面格式的時間 一一對應 7 time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=17, tm_min=24, tm_sec=5, tm_wday=3, tm_yday=334, tm_isdst=-1)
二 time.asctime()
time.asctime([t]):把一個表示時間的元組表示爲這種形式:'Sun Jun 20 23:21:05 1993'。若是沒有參數,將會將time.localtime()做爲參數傳入。
time.ctime([secs]):把一個時間戳(按秒計算的浮點數)轉化爲time.asctime()的形式。若是參數未給或者爲None的時候,將會默認time.time()爲參數。