1尚揣、time模塊
時(shí)間為什么從1970年開始:因?yàn)長inux系統(tǒng)那一年開始使用;通常由以下幾種方式表示時(shí)間:
時(shí)間戳:1970年1月1日之后的秒掖举,即:time.time()可以獲得當(dāng)前時(shí)間戳快骗。
格式化的字符串:2014-11-11 11:11,如:time.strftime('%Y-%m-%d')塔次,詳見案例
結(jié)構(gòu)化時(shí)間方篮,為元組形式,包含了9個(gè)元素:年励负、日藕溅、星期等... 如:time.struct_time(tm_year=2017, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=16, tm_sec=53, tm_wday=5, tm_yday=147, tm_isdst=0) ;
在這里還是要推薦下我自己建的Python開發(fā)學(xué)習(xí)群:628979297继榆,群里都是學(xué)Python開發(fā)的蜈垮,如果你正在學(xué)習(xí)Python ,小編歡迎你加入裕照,今天分享的這個(gè)案例已經(jīng)上傳到群文件攒发,大家都是軟件開發(fā)黨,不定期分享干貨(只有Python軟件開發(fā)相關(guān)的)晋南,包括我自己整理的一份2018最新的Python進(jìn)階資料和高級(jí)開發(fā)教程惠猿,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴
常見用法:
time.time() 返回當(dāng)前時(shí)間的時(shí)間戳
time.ctime() 返回時(shí)間的字符串格式,如:Sat Dec 30 16:52:39 2017
time.gmtime() 返回結(jié)構(gòu)化時(shí)間格式负间,為格林威治時(shí)間
time.localtime() 本地時(shí)間偶妖,比如中國時(shí)間和格林威治時(shí)間不一致,形式為結(jié)構(gòu)化格式政溃,
time.mktime() 把結(jié)構(gòu)化時(shí)間轉(zhuǎn)化為時(shí)間戳
time.sleep() 時(shí)間停頓
time.strftime() 把結(jié)構(gòu)化時(shí)間轉(zhuǎn)為格式化字符
time.strptime() 把一個(gè)時(shí)間字符串解析為時(shí)間元組
案例1:time.time返回當(dāng)前時(shí)間的時(shí)間戳
案例2:time.ctime返回時(shí)間的字符串格式
案例3:time.gmtime()返回結(jié)構(gòu)化時(shí)間格式趾访,為格林威治時(shí)間,和本地時(shí)間有差異
案例4:結(jié)構(gòu)化時(shí)間應(yīng)用案例董虱,可以分別獲取每一個(gè)元素扼鞋,然后設(shè)置為不同的格式
案例5:time.localtime()本地時(shí)間,形式為結(jié)構(gòu)化格式愤诱,和格林威治時(shí)間有差異云头,差時(shí)區(qū)
案例6:time.mktime()把結(jié)構(gòu)化時(shí)間轉(zhuǎn)化為時(shí)間戳
案例7:time.sleep()時(shí)間停頓
案例8:time.strftime()把結(jié)構(gòu)化時(shí)間轉(zhuǎn)為格式化字符
strftime需要兩個(gè)參數(shù),第一個(gè)是格式淫半,有大小寫要求溃槐,第二個(gè)是結(jié)構(gòu)化時(shí)間。如果t未指定科吭,將傳入time.localtime()昏滴。如果元組中任何一個(gè)元素越界猴鲫,ValueError的錯(cuò)誤將會(huì)被拋出。
python中時(shí)間日期格式化符號(hào):
%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應(yīng)的日期表示和時(shí)間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價(jià)符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6)谣殊,星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時(shí)間表示
%Z 當(dāng)前時(shí)區(qū)的名稱
%% %號(hào)本身
案例9:time.strptime把其他格式轉(zhuǎn)為結(jié)構(gòu)化格式
2拂共、datetime模塊
常用模塊:
datetime.date.today()獲取當(dāng)前日期
datetime.date.fromtimestamp()將時(shí)間戳轉(zhuǎn)為日期格式
datetime.datetime.now() 返回當(dāng)前日期和時(shí)間,格式為2017-04-20 11:19:59.128461
timetuple() 轉(zhuǎn)為struct_time
replace() 替換部分?jǐn)?shù)據(jù)蟹倾,replae(yyyy,mm,dd)
案例10:datetime.date.today()獲取當(dāng)前日期
案例11:將時(shí)間戳轉(zhuǎn)為日期格式
案例12:datetime.datetime.now() 返回當(dāng)前日期和時(shí)間
案例13:timetuple() 轉(zhuǎn)為struct_time
案例14:replace() 替換部分?jǐn)?shù)據(jù)匣缘,replae(yyyy,mm,dd)
案例15:strptime() 字符串格式化
案例16:時(shí)間加減法
3、Calendar模塊
例如打印某月的字符月歷鲜棠。
星期一是默認(rèn)的每周第一天肌厨,星期天是默認(rèn)的最后一天。更改設(shè)置需調(diào)用calendar.setfirstweekday()函數(shù)豁陆。
常用屬性:
calendar.calendar(year,w=2,l=1,c=6)柑爸。打印日歷。
calendar.firstweekday( ) 返回當(dāng)前每周起始日期的設(shè)置盒音。默認(rèn)情況下表鳍,首次載入caendar模塊時(shí)返回0,即星期一祥诽。
calendar.isleap(year)譬圣,判斷年是否為閏年
calendar.leapdays(y1,y2) 返回在Y1,Y2兩年之間的閏年總數(shù)
calendar.monthcalendar(year,month)返回單層嵌套列表雄坪。每個(gè)子列表為一周數(shù)字厘熟。Year年month月外的日期都設(shè)為0;范圍內(nèi)的日子都由該月第幾日表示,從1開始维哈。
calendar.monthrange(year,month)返回兩個(gè)整數(shù)绳姨。第一個(gè)數(shù)為該月第一個(gè)日期的日期碼,周一為0阔挠,從z第二個(gè)至為當(dāng)月日期數(shù)飘庄。
calendar.setfirstweekday(weekday) 設(shè)置每周的起始日期碼。0(星期一)到6(星期日)购撼。
calendar.timegm(tupletime)和time.gmtime相反:接受一個(gè)時(shí)間元組形式跪削,返回該時(shí)刻的時(shí)間戳
calendar.weekday(year,month,day)返回給定日期的日期碼。0(星期一)到6(星期日)份招。月份為 1(一月) 到 12(12月)切揭。
案例17:打印日歷:
返回一個(gè)多行年歷,3個(gè)月一行锁摔,間隔距離為c。 每日寬度間隔為w字符哼审。每行長度為21* W+18+2* C谐腰。l是每星期行數(shù)孕豹。
案例18:calendar.firstweekday( ) ,返回默認(rèn)起始位置
案例19:calendar.isleap(year)十气,判斷年是否為閏年
案例20:calendar.leapdays(y1,y2) 返回在Y1励背,Y2兩年之間的閏年總數(shù)
案例21:打印當(dāng)月日歷calendar.month(year,month,w=2,l=1)
案例22:calendar.monthcalendar(year,month)返回一個(gè)整數(shù)的單層嵌套列表
案例23:calendar.monthrange(year,month)返回兩個(gè)整數(shù)。第一個(gè)數(shù)為該月第一個(gè)日期的日期碼砸西,第二個(gè)至為當(dāng)月日期數(shù)叶眉。