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='')