Python3的time模塊的使用

import time

# 1.time()
print(' python誕生總時間(1970):', time.time())

# 2.asctime()
print('當前時間:', time.asctime())  # 當前時間

# 3.ctime()
print('當前時間:', time.ctime())

# 4.gmtime()
print('接收時間戳(格林威治天文臺):', time.gmtime())
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=9, tm_hour=13, tm_min=36, tm_sec=8, tm_wday=5, tm_yday=68, tm_isdst=0)

# 5.clock()
print('CPU 工作時間:', time.clock())  # CPU 工作時間

# 6.localtime()
print('接收時間戳(當地時間)', time.localtime())

# 7.strftime()
# strftime(fmt,time.localtime())  fmt輸出格式
print('格式化輸出時間:', time.strftime('%Y,%m,%d %X'))

# 8.altzone()
print('夏令時偏移秒數 %d' % time.altzone)

# 9.mktime()
print('接收時間元組輸出時間戳:', time.mktime(time.localtime()))

# 10.sleep(secs)
print('推遲調用線程的運行10(秒)')
# time.sleep(10)
print('10秒推遲完成')

# 11.strptime(str,fmt)
print('把時間字符串解析爲時間元組,以給定格式', time.strptime("30 Nov 00", "%d %b %y"))

# 12.tzset()
print('根據環境變量重新初始化時間')
# time.tzset() 貌似被廢除了

# 13.perf_counter()
print(time.perf_counter())  # 第一次選擇一個時間點
time.sleep(2)
print(time.perf_counter())  # 第二次選擇一個時間點

# 14.process.time()
print('當前進程執行CPU時間總和', time.process_time())

import datetime

print(datetime.datetime.now())

要點:

  •  time() 打印python誕生總時間(秒)
  • asctime() 當前時間
  • ctime() 當前時間
  • gmtime() 時間戳(格林威治天文臺)
  • clock() CPU工作時間
  • localtime() 時間戳(當地時間)
  • strftime(fmt,time.localtime()) fmt爲輸出格式
  • zltzone() 夏令時偏移秒數
  • mktime() 接收時間元組輸出時間戳
  • sleep(secs) 推遲調用線程運行(秒)
  • strptime(str,fmt) 把時間字符串解析爲時間元組,給定格式輸出 
  • tzset() 根據環境變量重新初始化時間(貌似被廢除)
  • perf_counter() 類似計時器(選取一個時間點)
  • process_time() 當前進程執行CPU時間總和

# 菜鳥進度條例子
scale = 50

print("執行開始".center(scale // 2, "-"))  # .center() 控制輸出的樣式,寬度爲 25//2,即 22,漢字居中,兩側填充 -

start = time.perf_counter()  # 調用一次 perf_counter(),從計算機系統裏隨機選一個時間點A,計算其距離當前時間點B1有多少秒。當第二次調用該函數時,默認從第一次調用的時間點A算起,距離當前時間點B2有多少秒。兩個函數取差,即實現從時間點B1到B2的計時功能。
for i in range(scale + 1):
    a = '*' * i  # i 個長度的 * 符號
    b = '.' * (scale - i)  # scale-i) 個長度的 . 符號。符號 * 和 . 總長度爲50
    c = (i / scale) * 100  # 顯示當前進度,百分之多少
    dur = time.perf_counter() - start  # 計時,計算進度條走到某一百分比的用時
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur),
          end='')  # \r用來在每次輸出完成後,將光標移至行首,這樣保證進度條始終在同一行輸出,即在一行不斷刷新的效果;{:^3.0f},輸出格式爲居中,佔3位,小數點後0位,浮點型數,對應輸出的數爲c;{},對應輸出的數爲a;{},對應輸出的數爲b;{:.2f},輸出有兩位小數的浮點數,對應輸出的數爲dur;end='',用來保證不換行,不加這句默認換行。
    time.sleep(0.1)  # 在輸出下一個百分之幾的進度前,停止0.1秒
print("\n" + "執行結果".center(scale // 2, '-'))

菜鳥上的進度條效果:perf_counter() 的使用


 切換到行首,不換行小例子:


for i in range(1000000):
    print('\r{0}'.format(i), end='')

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章