python自带time库吗_Python的内置库time
工作中經(jīng)常需要對(duì)時(shí)間進(jìn)行獲取,處理和格式化,我們可以使用Python內(nèi)置的time庫(kù)來(lái)解決這些問(wèn)題。
時(shí)間戳
時(shí)間戳,表示從1970年1月1日0點(diǎn)0分0秒到現(xiàn)在的時(shí)間經(jīng)過(guò)了多少秒。
import?timecur_time = time.time()print(cur_time)# 等待time.sleep(3)#?檢查等待前后過(guò)去的時(shí)間now_time = time.time()print(now_time)go_time = now_time - cur_timeprint('等待前后過(guò)去了:{}秒!'.format(go_time))
運(yùn)行結(jié)果:
1600246971.35530541600246974.35551等待前后過(guò)去了:3.000204563140869秒!
格式化
time.time()的結(jié)果是浮點(diǎn)數(shù)對(duì)象
格式化顯示本地時(shí)間:
import time'''格式化當(dāng)前時(shí)間 年-月-日 時(shí):分:秒%X表示本地時(shí)間%Y表示年,%m表示月,%d表示日'''print(time.strftime("%Y-%m-%d %X"))
運(yùn)行結(jié)果:
2020-09-16 17:11:04
更詳細(xì)的顯示本地時(shí)間:
import time'''格式化當(dāng)前時(shí)間 年-月-日 時(shí):分:秒 上下午 星期'''print(time.strftime("%Y-%m-%d %X %p %A"))
運(yùn)行結(jié)果:
2020-09-16 17:13:21 PM Wednesday
結(jié)構(gòu)化
time.localtime()的結(jié)果是struct_time對(duì)象
結(jié)構(gòu)化時(shí)間對(duì)象的9個(gè)屬性分別是年月日時(shí)分秒,本月第幾周,本年第幾天和夏令時(shí)。
import timesct_time = time.localtime()print(sct_time)#?結(jié)構(gòu)化表示當(dāng)?shù)貢r(shí)間# 格式為:年-月-日 時(shí):分:秒 本月幾周 本年第幾天 夏令時(shí)print('{}-{}-{}?{}:{}:{}?本月第{}周?本年第{}天?夏令時(shí):{}'.format(sct_time.tm_year,sct_time.tm_mon,sct_time.tm_mday,sct_time.tm_hour,sct_time.tm_min,sct_time.tm_sec,sct_time.tm_wday,sct_time.tm_yday,sct_time.tm_isdst))
運(yùn)行結(jié)果:
2020-9-16 17:36:12 本月第2周 本年第260天 夏令時(shí):0
相互轉(zhuǎn)換
結(jié)構(gòu)化時(shí)間?--> 時(shí)間戳
import timesct_time = time.localtime()print('當(dāng)前結(jié)構(gòu)化時(shí)間:{}'.format(sct_time))# struct2format mktimestr_time = time.time()print('當(dāng)前時(shí)間戳:{}'.format(str_time))print('轉(zhuǎn)換后的時(shí)間戳:{}'.format(time.mktime(sct_time)))
運(yùn)行結(jié)果:
當(dāng)前結(jié)構(gòu)化時(shí)間:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=37, tm_sec=25, tm_wday=3, tm_yday=261, tm_isdst=0)當(dāng)前時(shí)間戳:1600353445.3574238轉(zhuǎn)換后的時(shí)間戳:1600353445.0
時(shí)間戳 --> 結(jié)構(gòu)化時(shí)間
import timesct_time = time.localtime()print('當(dāng)前結(jié)構(gòu)化時(shí)間:{}'.format(sct_time))# struct2format mktimestr_time = time.time()print('當(dāng)前時(shí)間戳:{}'.format(str_time))print('轉(zhuǎn)換后的結(jié)構(gòu)化時(shí)間:{}'.format(time.gmtime(str_time)))print((time.gmtime(str_time).tm_zone))print('轉(zhuǎn)換后的結(jié)構(gòu)化時(shí)間:{}'.format(time.localtime(str_time)))
運(yùn)行結(jié)果:
當(dāng)前結(jié)構(gòu)化時(shí)間:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)當(dāng)前時(shí)間戳:1600353773.0630054轉(zhuǎn)換后的結(jié)構(gòu)化時(shí)間:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=14, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)UTC轉(zhuǎn)換后的結(jié)構(gòu)化時(shí)間:time.struct_time(tm_year=2020, tm_mon=9, tm_mday=17, tm_hour=22, tm_min=42, tm_sec=53, tm_wday=3, tm_yday=261, tm_isdst=0)
你應(yīng)該已經(jīng)注意到,時(shí)間戳轉(zhuǎn)換結(jié)構(gòu)化時(shí)間有兩個(gè)方法gmtime和localtime,其中g(shù)mtime表示標(biāo)準(zhǔn)時(shí)間,而localtime是加了時(shí)區(qū)后的時(shí)間,所以當(dāng)前l(fā)ocaltime比gmtime快8小時(shí),這就是+8區(qū)的原因。
簡(jiǎn)單的字符串時(shí)間獲取方式:
print(time.ctime()) # 當(dāng)前時(shí)間的字符串形式,相當(dāng)于把當(dāng)前結(jié)構(gòu)化時(shí)間用asctime方法格式化print(time.asctime(time.localtime()))
結(jié)果:
Thu Sep 17 22:48:48 2020Thu Sep 17 22:48:48 2020
datetime模塊
datetime是對(duì)time模塊的封裝, 用起來(lái)更加簡(jiǎn)單,方便。
以下介紹幾種常用的方法:
import datetimecurrent_time = datetime.datetime.now()print('time:',current_time)utc_time = datetime.datetime.utcnow()print('utc time:',utc_time)current_day = datetime.datetime.today()print('local time:',current_day)print('今年是哪一年?答:',datetime.datetime.today().year)print('今天屬于那一月?答:',datetime.datetime.today().month)print('今天是本月第幾天?答:',datetime.datetime.today().day)print('從0001年1月1日到今天過(guò)去了多少天?答:',datetime.datetime.today().toordinal())print('今天是禮拜幾?答:',datetime.datetime.today().isoweekday())
運(yùn)行結(jié)果:
time: 2020-09-17 23:10:54.315267utc time: 2020-09-17 15:10:54.315267local time: 2020-09-17 23:10:54.316267今年是哪一年?答:2020今天屬于那一月?答:9今天是本月第幾天?答:17從0001年1月1日到今天過(guò)去了多少天?答:737685今天是禮拜幾?答:4
更多用法可以查看源碼進(jìn)行學(xué)習(xí)。
好文!必須在看
總結(jié)
以上是生活随笔為你收集整理的python自带time库吗_Python的内置库time的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql卸载后root还在_Cento
- 下一篇: es 指定排序字段_ES里多字段分组后排