python中time、datetime模塊的使用
如果您從事過python web的開發(fā),那一定有過這樣的經(jīng)歷,對于各種復(fù)雜繁瑣的業(yè)務(wù)邏輯,摻雜著各種各樣的時(shí)間約束,讓人很容易搞的頭暈眼花,比如展示出一天內(nèi)用戶進(jìn)行過的所有操作記錄,再比如進(jìn)行驗(yàn)證碼驗(yàn)證時(shí)獲取當(dāng)前時(shí)間與驗(yàn)證碼生成時(shí)間進(jìn)行比較,檢查是否超過10分鐘過期時(shí)間之類。這些關(guān)于時(shí)間的業(yè)務(wù)邏輯,要求我們必須能熟練掌握python中關(guān)于時(shí)間的兩個(gè)模塊,time和datetime,只有用好了這兩個(gè)模塊,我們才能在代碼中輕松自如的應(yīng)對。
2、time模塊time模塊中時(shí)間表現(xiàn)的格式主要有三種:
a、timestamp時(shí)間戳,時(shí)間戳表示的是從1970年1月1日00:00:00開始按秒計(jì)算的偏移量 b、struct_time時(shí)間元組,共有九個(gè)元素組。 c、format time 格式化時(shí)間,已格式化的結(jié)構(gòu)使時(shí)間更具可讀性。包括自定義格式和固定格式。1、時(shí)間格式轉(zhuǎn)換圖import timeprint(time.time()) # 當(dāng)前時(shí)間戳>>> 1569645479.6079931print(int(time.time()))>>> 1569645479print(time.strftime(’%Y-%m-%d %H:%M:%S’)) # 格式化的時(shí)間>>> 2019-09-28 12:37:59print(time.strftime(’%Y-%m-%d’))>>> 2019-09-28print(time.strftime(’%H:%M:%S’))>>> 12:37:59print(time.gmtime()) # 獲取標(biāo)準(zhǔn)時(shí)區(qū)的時(shí)間元組,如果傳入了時(shí)間戳,就是把時(shí)間戳轉(zhuǎn)換成時(shí)間元組>>> 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_mon=9, tm_mday=28, tm_hour=4, tm_min=37, tm_sec=33, tm_wday=5, tm_yday=271, tm_isdst=0)# 使用時(shí)間戳獲取代碼執(zhí)行時(shí)間s_time = time.time()for i in range(0,10): time.sleep(1)e_time = time.time()print(’代碼運(yùn)行時(shí)間是:’, e_time-s_time)>>> 代碼運(yùn)行時(shí)間是: 10.003105163574219# 字符串格式化時(shí)間轉(zhuǎn)換時(shí)間戳str_time = ’2019-9-28’print(time.mktime(time.strptime(str_time, ’%Y-%m-%d’)))>>> 1569600000.0# 時(shí)間戳轉(zhuǎn)換成格式化的時(shí)間字符串gsh_time = time.time()print(time.strftime(’%Y-%m-%d’, time.localtime(gsh_time)))>>> 2019-09-283、datetime模塊
datatime模塊重新封裝了time模塊,提供更多接口,提供的類有:date,time,datetime,timedelta,tzinfo。
import datetimenow = datetime.datetime.now()print(now)>>> 2019-09-28 12:45:59.927901now = datetime.datetime.now()d1 = now - datetime.timedelta(hours=1) # 獲取前一小時(shí)d2 = now - datetime.timedelta(days=1) # 獲取前一天print(now)>>> 2019-09-28 12:47:56.662933print(d1)>>> 2019-09-28 11:47:56.662933print(d2)>>> 2019-09-27 12:47:56.662933# datetime對象轉(zhuǎn)換成時(shí)間戳dt = datetime.datetime.now()print(time.mktime(dt.timetuple()))>>> 1569646475.0# 時(shí)間戳轉(zhuǎn)換成datetime對象sjc_time = time.time()print(datetime.datetime.fromtimestamp(sjc_time))>>> 2019-09-28 12:55:05.500752
以上就是python中time、datetime模塊的使用的詳細(xì)內(nèi)容,更多關(guān)于python time、datetime模塊的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Java基于redis和mysql實(shí)現(xiàn)簡單的秒殺(附demo)2. php讀取xml中某個(gè)元素的內(nèi)容(PHP5以上才支持)3. IntelliJ IDEA設(shè)置編碼格式的方法4. 如何用python識別滑塊驗(yàn)證碼中的缺口5. SpringBoot+SpringCache實(shí)現(xiàn)兩級緩存(Redis+Caffeine)6. IDEA SpringBoot 項(xiàng)目配置Swagger2的詳細(xì)教程7. Kotlin + Flow 實(shí)現(xiàn)Android 應(yīng)用初始化任務(wù)啟動(dòng)庫8. Docker究竟是什么 為什么這么流行 它的優(yōu)點(diǎn)和缺陷有哪些?9. ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解10. AJAX實(shí)現(xiàn)省市縣三級聯(lián)動(dòng)效果
