python中time、datetime模組的使用
阿新 • • 發佈:2020-12-15
1、前言
如果您從事過python web的開發,那一定有過這樣的經歷,對於各種複雜繁瑣的業務邏輯,摻雜著各種各樣的時間約束,讓人很容易搞的頭暈眼花,比如展示出一天內使用者進行過的所有操作記錄,再比如進行驗證碼驗證時獲取當前時間與驗證碼生成時間進行比較,檢查是否超過10分鐘過期時間之類。這些關於時間的業務邏輯,要求我們必須能熟練掌握python中關於時間的兩個模組,time和datetime,只有用好了這兩個模組,我們才能在程式碼中輕鬆自如的應對。
2、time模組
time模組中時間表現的格式主要有三種:
- a、timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量
- b、struct_time時間元組,共有九個元素組。
- c、format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。
1、時間格式轉換圖
2、常用方法
import time print(time.time()) # 當前時間戳 >>> 1569645479.6079931 print(int(time.time())) >>> 1569645479 print(time.strftime('%Y-%m-%d %H:%M:%S')) # 格式化的時間 >>> 2019-09-28 12:37:59 print(time.strftime('%Y-%m-%d')) >>> 2019-09-28 print(time.strftime('%H:%M:%S')) >>> 12:37:59 print(time.gmtime()) # 獲取標準時區的時間元組,如果傳入了時間戳,就是把時間戳轉換成時間元組 >>> time.struct_time(tm_year=2019,tm_mon=9,tm_mday=28,tm_hour=4,tm_min=37,tm_sec=59,tm_wday=5,tm_yday=271,tm_isdst=0) print(time.gmtime(1569645453)) >>> time.struct_time(tm_year=2019,tm_sec=33,tm_isdst=0) # 使用時間戳獲取程式碼執行時間 s_time = time.time() for i in range(0,10): time.sleep(1) e_time = time.time() print('程式碼執行時間是:',e_time-s_time) >>> 程式碼執行時間是: 10.003105163574219 # 字串格式化時間轉換時間戳 str_time = '2019-9-28' print(time.mktime(time.strptime(str_time,'%Y-%m-%d'))) >>> 1569600000.0 # 時間戳轉換成格式化的時間字串 gsh_time = time.time() print(time.strftime('%Y-%m-%d',time.localtime(gsh_time))) >>> 2019-09-28
3、datetime模組
datatime模組重新封裝了time模組,提供更多介面,提供的類有:date,time,datetime,timedelta,tzinfo。
import datetime now = datetime.datetime.now() print(now) >>> 2019-09-28 12:45:59.927901 now = datetime.datetime.now() d1 = now - datetime.timedelta(hours=1) # 獲取前一小時 d2 = now - datetime.timedelta(days=1) # 獲取前一天 print(now) >>> 2019-09-28 12:47:56.662933 print(d1) >>> 2019-09-28 11:47:56.662933 print(d2) >>> 2019-09-27 12:47:56.662933 # datetime物件轉換成時間戳 dt = datetime.datetime.now() print(time.mktime(dt.timetuple())) >>> 1569646475.0 # 時間戳轉換成datetime物件 sjc_time = time.time() print(datetime.datetime.fromtimestamp(sjc_time)) >>> 2019-09-28 12:55:05.500752
以上就是python中time、datetime模組的使用的詳細內容,更多關於python time、datetime模組的資料請關注我們其它相關文章!