>> import time >>> time.time() 1570530861.740123 >>> time.ctime() Tue Oct 8 18:34:27 2019 >>> time.gmtime() time.struct_time(tm_..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解Python time庫的使用

發(fā)布時間:2020-09-20 13:59:50 來源:腳本之家 閱讀:155 作者:雪急飛緒 欄目:開發(fā)技術(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)

二、時間格式化

time.strftime(format[, t])
format – 格式字符串。
t – 可選的參數(shù)t是一個struct_time對象。
python中時間日期格式化符號:
%Y 年份
%m 月份
%B 月份名稱 January
%b 月份名稱縮寫 Jan
%d 日期
%A 星期 Monday
%a 星期縮寫 Mon
%H 小時 24
%h 小時 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'

三、時間進度條

測量時間:perf_counter() 返回系統(tǒng)運行時間。由于返回值的基準點是未定義的,所以,只有連續(xù)調(diào)用的結(jié)果之間的差才是有效的。

>>> start = time.perf_counter()
>>> start
684.980333384
>>> end = time.perf_counter()
>>> end
696.094559111
>>> end-start
11.114225726999962

產(chǎn)生時間:sleep(secs) 推遲調(diào)用線程的運行

secs:休眠時間;可以是浮點數(shù),如time.sleep(2.7)

#TextProBarV3.py
import time
scale = 40
print('執(zhí)行開始'.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ù)碼管拼接而成,每段有亮或不亮兩種情況,改進型的七段數(shù)碼管還包括一個小數(shù)點位置。

詳解Python time庫的使用

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

詳解Python time庫的使用

#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庫的使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI