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