python时间time模块介绍
先看幾個(gè)概念:
時(shí)間戳:從1970年1月1日00:00:00開始按秒計(jì)算的偏移量。舉個(gè)例子,現(xiàn)在是2017年6月11的下午16:54:32,那么print(time.time())輸出的值是1497171320.99就代表現(xiàn)在的時(shí)間戳。?
元組(struct_time):struct_time元組共有9個(gè)元素。gmtime(),localtime(),strptime()這三個(gè)函數(shù)會(huì)返回struct_time元組。下面的表格會(huì)列出struct_time的9個(gè)元素的具體情況
struct_time9個(gè)元素介紹
| tm_year | 年(例如2017) |
| tm_mon | 月(1-12) |
| tm_mday | 日(1-31) |
| tm_hour | 時(shí)(0-23) |
| tm_min | 分(0-59) |
| tm_sec | 秒(0-61)不太理解61 |
| tm_wday | 周幾(0-6)0是周日 |
| tm_yday | 一年中第幾天(1-366) |
| tm_isdst | 是否夏令時(shí)(默認(rèn)-1) |
time模塊常用函數(shù):
time.localtime([secs]):
將一個(gè)時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)區(qū)的struct_time。secs參數(shù)未提供,則以當(dāng)前時(shí)間為準(zhǔn)。
import time #不提供參數(shù) t=time.localtime() print(t) 輸出結(jié)果如下: time.struct_time(tm_year=2017, tm_mon=6, tm_mday=11, tm_hour=17, tm_min=26, tm_sec=39, tm_wday=6, tm_yday=162, tm_isdst=0) import time #提供參數(shù) t=time.localtime(1497173361.52) print(t) dt = time.strftime("%Y-%m-%d %H:%M:%S",t) print(dt)輸出結(jié)果如下: time.struct_time(tm_year=2017, tm_mon=6, tm_mday=11, tm_hour=17, tm_min=29, tm_sec=21, tm_wday=6, tm_yday=162, tm_isdst=0) 2017-06-11 17:29:21time.gmtime([secs]):
和localtime()方法類似,gmtime()方法是將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)區(qū)(0時(shí)區(qū))的struct_time,UTC時(shí)區(qū)比中國時(shí)間少8小時(shí)。
import time t=time.gmtime() print(t) 輸出結(jié)果如下: time.struct_time(tm_year=2017, tm_mon=6, tm_mday=11, tm_hour=9, tm_min=33, tm_sec=17, tm_wday=6, tm_yday=162, tm_isdst=0)time.time():
返回當(dāng)前時(shí)間的時(shí)間戳。
import time t=time.time() print(t) 輸出結(jié)果如下: 1497173705.06time.mktime(t)
將一個(gè)struct_time轉(zhuǎn)化為時(shí)間戳。
import time t1=time.localtime() t=time.mktime(t1) print(t) 輸出結(jié)果如下: 1497173819.0time.strftime(format[, t]):
把一個(gè)代表時(shí)間的元組(必須是9個(gè)元素值,而且值的范圍不能越界)或者struct_time(如由time.localtime()和time.gmtime()返回)轉(zhuǎn)化為格式化的時(shí)間字符串。如果t未指定,將傳入time.localtime()。
import time a=(2017,6,11,17,40,51,6,162,0) #%Y %m %d %H %M %S依次代表年,月,日,時(shí),分,秒 c=time.strftime("%Y-%m-%d %H:%M:%S",a) print(c) 輸出結(jié)果如下: 2017-06-11 17:40:51time.strptime(string[, format])
把一個(gè)格式化時(shí)間字符串轉(zhuǎn)化為struct_time。它是strftime()函數(shù)的相反操作。
import time c=time.strptime("2017-6-11 17:51:30","%Y-%m-%d %H:%M:%S") print(c) 輸出結(jié)果如下: time.struct_time(tm_year=2017, tm_mon=6, tm_mday=11, tm_hour=17, tm_min=51, tm_sec=30, tm_wday=6, tm_yday=162, tm_isdst=-1)常用的輸出格式化時(shí)間
| %Y | 年(完整的年份) |
| %m | 月 |
| %d | 日 |
| %H | 時(shí)(24小時(shí)制) |
| %M | 分 |
| %S | 秒 |
| %y | 年的后兩位,例如今年是17年 |
| %I | 第幾小時(shí)(12小時(shí)制) |
| %j | 一年中第幾天 |
| %w | 星期幾(0-6,0代表星期日) |
| %x | 本地日期 |
| %X | 本地時(shí)間 |
| %c | 本地日期和時(shí)間 |
| %a | 本地簡(jiǎn)化星期名 |
| %A | 本地完整星期名 |
| %b | 本地簡(jiǎn)化月份名 |
| %B | 本地完整月份名 |
?
time.sleep()函數(shù)
如果需要程序暫停一下,就調(diào)用time.sleep()函數(shù),并且傳入想要暫停的秒數(shù)。
datatime模塊
import?datetime 1.返回當(dāng)前時(shí)間 >>> datetime.datetime.now() datetime.datetime(2017, 5, 9, 17, 7, 0, 514481)2.時(shí)間戳轉(zhuǎn)換成日期 >>> datetime.date.fromtimestamp(1178766678) datetime.date(2007, 5, 10)例如:對(duì)系統(tǒng)時(shí)間的提取:
time_unix = int(time.time()) # unix時(shí)間 print('time_unix:',time_unix) time_win = time.localtime(time_unix) # 轉(zhuǎn)換為win_time print('time_win:',time_win) time_now = time.strftime("%H:%M:%S", time_win) # 轉(zhuǎn)換成新的時(shí)間格式(18:59:20) print('time_now:',time_now) list_time = [] for line in time_now.split(':'):list_time.append(line) print('list_time:',list_time) str_time = ''.join(list_time) print('str_time',str_time)print('---------------------------------------------') win_time = datetime.datetime.now().strftime('%Y%m%d') unix_time = time.mktime(time.strptime(win_time, '%Y%m%d')) print('win_time:',win_time) print('unix_time:',unix_time)#輸出為: time_unix: 1536041566 time_win: time.struct_time(tm_year=2018, tm_mon=9, tm_mday=4, tm_hour=14, tm_min=12, tm_sec=46, tm_wday=1, tm_yday=247, tm_isdst=0) time_now: 14:12:46 list_time: ['14', '12', '46'] str_time 141246 --------------------------------------------- win_time: 20180904 unix_time: 1535990400.0?
總結(jié)
以上是生活随笔為你收集整理的python时间time模块介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】单线程异步多线程多进程实
- 下一篇: python json文件传输图片