詳解Python time庫(kù)的使用
一、時(shí)間獲取函數(shù)
>>> import time >>> time.time() 1570530861.740123 >>> time.ctime() 'Tue Oct 8 18:34:27 2019' >>> time.gmtime() time.struct_time(tm_year=2019, tm_mon=10, tm_mday=8, tm_hour=10, tm_min=34, tm_sec=52, tm_wday=1, tm_yday=281, tm_isdst=0)
二、時(shí)間格式化
time.strftime(format[, t])
format – 格式字符串。
t – 可選的參數(shù)t是一個(gè)struct_time對(duì)象。
python中時(shí)間日期格式化符號(hào):
%Y 年份
%m 月份
%B 月份名稱 January
%b 月份名稱縮寫(xiě) Jan
%d 日期
%A 星期 Monday
%a 星期縮寫(xiě) Mon
%H 小時(shí) 24
%h 小時(shí) 12
%p 上下午
%M 分鐘
%S 秒
>>> t=time.gmtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S", t)
'2019-10-08 10:38:06'
>>> time.strftime("%Y-%B-%d-%A-%H-%p-%S")
'2019-October-08-Tuesday-18-PM-50'
>>> time.strftime("%A-%p")
'Tuesday-PM'
>>> time.strftime("%M:%S")
'39:59'
三、時(shí)間進(jìn)度條
測(cè)量時(shí)間:perf_counter() 返回系統(tǒng)運(yùn)行時(shí)間。由于返回值的基準(zhǔn)點(diǎn)是未定義的,所以,只有連續(xù)調(diào)用的結(jié)果之間的差才是有效的。
>>> start = time.perf_counter() >>> start 684.980333384 >>> end = time.perf_counter() >>> end 696.094559111 >>> end-start 11.114225726999962
產(chǎn)生時(shí)間:sleep(secs) 推遲調(diào)用線程的運(yùn)行
secs:休眠時(shí)間;可以是浮點(diǎn)數(shù),如time.sleep(2.7)
#TextProBarV3.py
import time
scale = 40
print('執(zhí)行開(kāi)始'.center(scale//2,'-'))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i / scale) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}".format(c,a,b,dur),end='')
time.sleep(0.1)
print('\n'+'執(zhí)行結(jié)果'.center(scale//2,'-'))
四、七段數(shù)碼管
七段數(shù)碼管(seven-segment indicator)由7 段數(shù)碼管拼接而成,每段有亮或不亮兩種情況,改進(jìn)型的七段數(shù)碼管還包括一個(gè)小數(shù)點(diǎn)位置。

七段數(shù)碼管能形成27=128 種不同狀態(tài),其中部分狀態(tài)能夠顯示易于人們理解的數(shù)字或字母含義,因此被廣泛使用。

#DrawSevenSegDisplay.py
import turtle, datetime
def drawGap(): #繪制數(shù)碼管間隔
turtle.penup()
turtle.fd(5)
def drawLine(draw): #繪制單段數(shù)碼管
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(d): #根據(jù)數(shù)字繪制七段數(shù)碼管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
for i in date:
if i == '-':
turtle.write('年',font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i == '=':
turtle.write('月',font=("Arial", 18, "normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i == '+':
turtle.write('日',font=("Arial", 18, "normal"))
else:
drawDigit(eval(i))
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))
turtle.hideturtle()
main()
總結(jié)
以上所述是小編給大家介紹的Python time庫(kù)的使用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
python實(shí)現(xiàn)將中文日期轉(zhuǎn)換為數(shù)字日期
這篇文章主要介紹了python實(shí)現(xiàn)將中文日期轉(zhuǎn)換為數(shù)字日期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
基于Python的身份證驗(yàn)證識(shí)別和數(shù)據(jù)處理詳解
這篇文章主要介紹了基于Python的身份證驗(yàn)證識(shí)別和數(shù)據(jù)處理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Python數(shù)據(jù)分析庫(kù)pandas高級(jí)接口dt的使用詳解
這篇文章主要介紹了Python數(shù)據(jù)分析庫(kù)pandas高級(jí)接口dt的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解
這篇文章主要介紹了python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
跟老齊學(xué)Python之傳說(shuō)中的函數(shù)編寫(xiě)條規(guī)
在使用函數(shù)的時(shí)候,首先要把它放在對(duì)象的層面考量,它不是什么特殊的東西,盡管我們使用了不少篇幅講述它,但它終歸還是一個(gè)對(duì)象。2014-10-10

