python中time、datetime模塊的使用
如果您從事過(guò)python web的開(kāi)發(fā),那一定有過(guò)這樣的經(jīng)歷,對(duì)于各種復(fù)雜繁瑣的業(yè)務(wù)邏輯,摻雜著各種各樣的時(shí)間約束,讓人很容易搞的頭暈眼花,比如展示出一天內(nèi)用戶進(jìn)行過(guò)的所有操作記錄,再比如進(jìn)行驗(yàn)證碼驗(yàn)證時(shí)獲取當(dāng)前時(shí)間與驗(yàn)證碼生成時(shí)間進(jìn)行比較,檢查是否超過(guò)10分鐘過(guò)期時(shí)間之類。這些關(guān)于時(shí)間的業(yè)務(wù)邏輯,要求我們必須能熟練掌握python中關(guān)于時(shí)間的兩個(gè)模塊,time和datetime,只有用好了這兩個(gè)模塊,我們才能在代碼中輕松自如的應(yīng)對(duì)。
2、time模塊time模塊中時(shí)間表現(xiàn)的格式主要有三種:
a、timestamp時(shí)間戳,時(shí)間戳表示的是從1970年1月1日00:00:00開(kāi)始按秒計(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對(duì)象轉(zhuǎn)換成時(shí)間戳dt = datetime.datetime.now()print(time.mktime(dt.timetuple()))>>> 1569646475.0# 時(shí)間戳轉(zhuǎn)換成datetime對(duì)象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模塊的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 在vue中封裝方法以及多處引用該方法詳解2. IntelliJ IDEA2020.2.2創(chuàng)建Servlet方法及404問(wèn)題3. Android 基于Bitmap的四種圖片壓縮方式4. Python的Tqdm模塊實(shí)現(xiàn)進(jìn)度條配置5. 淺談python多線程和多線程變量共享問(wèn)題介紹6. Python如何批量獲取文件夾的大小并保存7. CSS3中Transition屬性詳解以及示例分享8. CSS代碼檢查工具stylelint的使用方法詳解9. Python 多線程之threading 模塊的使用10. Java WindowBuilder 安裝及基本使用的教程
