本篇博客將介紹python的內置庫time,我們將從如下幾個方面介紹:
時間獲取:time() ctime() gmtime()
時間格式化:strftime() strptime()
程序計時:sleep(),perf_counter()
時間獲取
time() :獲取從1970年1月1日0:00開始到當前時間點的時間,返回一個浮點數,單位為s
ctime() :獲取當前時間,返回一個字符串,格式是星期 月 日 時:分:秒 年
gmtime();獲取當前時間,返回一個可被計算機直接處理的時間,這種格式被稱為struct_time格式
代碼示例:
#time.py
#coding=gbk
import time
def main():
print("time():{}".format(time.time()))
print("ctime():{}".format(time.ctime()))
print("gmtime():{}".format(time.gmtime()))
main()
'''
time():1583564826.0054252
ctime():Sat Mar 7 15:07:06 2020
gmtime():time.struct_time(tm_year=2020, tm_mon=3, tm_mday=7, tm_hour=7, tm_min=7, tm_sec=6, tm_wday=5, tm_yday=67, tm_isdst=0)
'''
時間格式化
strftime(tpl,ts):將struct_time格式的時間ts按照tpl格式格式化為直觀的時間
格式化字符如下:
格式化字符串 含義 取值
%Y 年份 0000~9999
%m 月份 01~12
%B 月份名稱 January~December
%b 月份名稱縮寫 Jan~Dec
%d 日期 01~31
%A 星期 Monday~Sunday
%a 星期 Mon~Sun
%H 24H制小時 01~23
%I 12H制小時 01~12
%p 上午/下午 AM/PM
strptime(str,tpl):將給定的字符串時間str按照tpl格式解析成struct_time格式的時間:
示例代碼:
#time.py
#coding=gbk
import time
def main():
t=time.gmtime()
strTime=time.strftime("%Y-%m-%d %H:%M:%S",t)
structTime=time.strptime(strTime,"%Y-%m-%d %H:%M:%S")
print(t)
print(strTime)
print(structTime)
main()
'''
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=7, tm_hour=7, tm_min=31, tm_sec=40, tm_wday=5, tm_yday=67, tm_isdst=0)
2020-03-07 07:31:40
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=7, tm_hour=7, tm_min=31, tm_sec=40, tm_wday=5, tm_yday=67, tm_isdst=-1)
'''鄭州做人流多少錢 http://mobile.120zzzzyy.com/
程序計時
perf_counter():返回一個CPU級別的精確時間計數值,單位為秒,可精確到10^-6ns以上,也就是說精確到10^-15s,由於這個計數值起點不確定,連續調用差值才有意義
代碼示例:
#time.py
#coding=gbk
import time
def main():
print(strTime)
print(structTime)
start=time.perf_counter()
print('waste of time')
end=time.perf_counter()
print("the differTime={}".format(end-start))
main()
'''
waste of time
the differTime=0.00012259999999999355
'''
sleep(t):休眠ts時間
代碼舉例:
#time.py
#coding=gbk
import time
def main():
start=time.perf_counter()
time.sleep(2.555)
end=time.perf_counter()
print("the differTime={}".format(end-start))
main()
'''
the differTime=2.5542359
'''
