今天是邊復習邊創作博客的第三天,我今年大二,我們專業開的有這門課程,因為喜歡所以更加認真學習,本以為沒人看呢,看了后台瀏覽量讓我更加認真創作,這篇博客花了2個半小時的時間,結合自己所學,所思,所想寫作,目的是為了方便喜歡Python的小白學習,也是一種自我鞭策吧!
python語言使用內置time庫和datetime庫來處理日期時間
調用庫的三種方式:
以time庫為例,調用其它庫類似
1.from time import * (*代表time包含所有的時間處理函數,用到某個也可單定義,調用函數時直接使用,比如:clock())
2.import time (調用函數方式,比如:time.clock())
3.import time as t (自定義庫的名稱,調用時方便,比如:t.clock())
time庫的主要的三類函數:
以上面第三種庫調用方式舉例
1.時間獲取:t.time();t.ctime();t.gmtime() #每種獲取時間不一樣,根據需求使用
2.程序計時:t.clock();t.perf_counter() #使用方式一樣
3.時間格式化:t.strftime(format,t);t.strptime(string,format)
#format表示要定義的格式,t表示獲取的時間,string表示字符串類型時間
字符串格式化:%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%M 分鍾數(00=59)
%S 秒(00-59)
4.程序休眠:t.sleep()
#使用舉例
import time as t
t0=t.gmtime()
print(t0)
t1="2020-12-23 19:23:20"
t2 = t.strptime(t1,"%Y-%m-%d %H:%M:%S")
t3 = t.strftime("%y/%m/%d %H:%M:%S")
print(t2)
print(t3)
打印結果:
C:\Users\86185\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/86185/PycharmProjects/untitled/Python復習/hk.py
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=12, tm_min=22, tm_sec=39, tm_wday=2, tm_yday=358, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=19, tm_min=23, tm_sec=20, tm_wday=2, tm_yday=358, tm_isdst=-1)
20/12/23 20:22:39
Process finished with exit code 0
datetime庫主要的四類函數:
datetime庫是基於time庫進行了封裝;以import datetime as dt 為datetime庫調用方式
1.date:表示的是日期對象 #dt.date
2.time;表示的是時間對象 #dt.time ;一般不用date和time函數,datetime函數包含其功能
3.datetime:表示的是日期時間對象#dt.datetime.now()表示獲取當前時間;dt.strftime(format) # 按照 format 進行格式化輸出
4.timedelta:主要用於定義計算時間跨度 #t=dt.timedelat(hours=10)表示定義時間跨度是10小時
用分隔符’’'分類展示如下:
import datetime as dt
now = dt.datetime.now() # 獲取當前datetime
print(now)
輸出結果:2019-05-07 16:28:07.198690
''' d = dt.date(2020, 12, 23) print(d) print('year:', d.year) print('month:', d.month) print('day:', d.day) 輸出結果: 2020-12-23 year: 2020 month: 12 day: 23 '''
''' date1=dt.date(2020,12,23) timedel=dt.timedelta(days=4)#表示時間跨度為4天 print('四天后的日期是:', date1+timedel) 輸出結果:四天后的日期是:2020-12-27 '''
最后配上一段小程序:文本進度條打印程序分析
import time
scale = 100 #這個可以隨意設置,看需求
print("執行開始".center(scale//2,'-'))# .center(a,'b')函數是居中符,這條程序是將“執行開始”居中占字符為scale//2(可看需求自定義),b為填充符
starttime = time.clock() #time庫內置函數,第一次使用是開始計時
for i in range(scale+1):
a = '*' * i #將'*'字符隨i的增加而增加
b = '.' * (scale - i) #將'.'字符隨‘*’增加而減少,兩個字符總數是scale的初始值數量
c = (i/scale) * 100 #求百分比
t = time.clock()-starttime #計算時間,第二次調用time.clock函數表示計時結束
print("\r{:^3.0f}%[{}->{}]{:.2}s".format(c,a,b,t),end="")#字符格式化,看需求,自己玩就是咋好看咋格式化
time.sleep(0.05) #time.sleep()函數表示讓程序休眠,里面參數是休眠時間根據需求隨意定義
print("\n"+"執行結束".center(scale//2,'-'))#同上;"\n表示換行打印";"+"連接符,具有連接功能
