Python time 模块 - Python零基础入门教程
目錄
- 一.前言
- 二.Python time 模塊常用函數(shù)介紹
- 三.Python time 模塊使用
- 1.Python time 模塊獲取時(shí)間
- 2.Python time 模塊自定義時(shí)間格式
- 3.Python time 模塊查看代碼執(zhí)行時(shí)間
- 四.猜你喜歡
零基礎(chǔ) Python 學(xué)習(xí)路線推薦 : Python 學(xué)習(xí)目錄 >> Python 基礎(chǔ)入門
Python time 模塊主要包含各種提供日期、時(shí)間功能的相關(guān)函數(shù)。time 模塊既提供了把日期、時(shí)間格式化為字符串的功能,也提供了從字符串恢復(fù)日期、時(shí)間的功能。
一.前言
在 time 模塊內(nèi)提供了很多函數(shù),很多函數(shù)都會(huì)返回一個(gè)** time.struct_time** 類,該類代表一個(gè)時(shí)間對(duì)象,它主要包含 9 個(gè)屬性,每個(gè)屬性的信息如圖所示:
二.Python time 模塊常用函數(shù)介紹
- **time.gmtime([secs]) **— 將以秒數(shù)代表的時(shí)間轉(zhuǎn)換為 struct_time 對(duì)象。如果不傳入?yún)?shù),則使用當(dāng)前時(shí)間;
- time.asctime([t]) — 將時(shí)間元組或 struct_time 轉(zhuǎn)換為時(shí)間字符串。如果不指定參數(shù) t,則默認(rèn)轉(zhuǎn)換當(dāng)前時(shí)間;
- time.localtime([secs]) — 將以秒數(shù)代表的時(shí)間轉(zhuǎn)換為代表當(dāng)前時(shí)間的 struct_time 對(duì)象。如果不傳入?yún)?shù),則使用當(dāng)前時(shí)間;
- time.sleep(secs) — 暫停 secs 秒,什么都不干;
- **time.strftime(format[, t]) **— 將時(shí)間元組或 struct_time 對(duì)象格式化為指定格式的時(shí)間字符串。如果不指定參數(shù) t,則默認(rèn)轉(zhuǎn)換當(dāng)前時(shí)間;
- **time.strptime(string[, format]) **— 將字符串格式的時(shí)間解析成 struct_time 對(duì)象;
- **time.time() **— 返回從 1970 年 1 月 1 日 0 點(diǎn)整到現(xiàn)在過(guò)了多少秒;
- time.tzname — 返回本地時(shí)區(qū)的名字;
三.Python time 模塊使用
1.Python time 模塊獲取時(shí)間
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說(shuō)編程 @Blog(個(gè)人博客地址): www.codersrc.com @File:Python time 模塊.py @Time:2021/3/28 07:37 @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!"""# 導(dǎo)入時(shí)間time模塊 import time# 獲取當(dāng)前時(shí)間,默認(rèn)格式 print(time.asctime())# 返回 time.struct_time 類型對(duì)象 print(time.gmtime())# 返回 time.struct_time 類型對(duì)象 print(time.localtime())# 返回從 1970 年 1 月 1 日 0 點(diǎn)整到現(xiàn)在過(guò)了多少秒 print(time.time())''' 輸出結(jié)果: Thu Nov 7 21:26:29 2019 time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=13, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0) time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=21, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0) 1573133189.8083951'''2.Python time 模塊自定義時(shí)間格式
可以通過(guò) time.strftime 函數(shù) 將 struct_time 對(duì)象轉(zhuǎn)為自定義時(shí)間格式 或者 將字符串轉(zhuǎn)為 struct_time 對(duì)象,在轉(zhuǎn)換過(guò)程中可能需要用到以下格式參數(shù):
- %a 星期幾的簡(jiǎn)寫;
- %A 星期幾的全稱;
- %b 月分的簡(jiǎn)寫;
- %B 月份的全稱;
- %c 標(biāo)準(zhǔn)的日期的時(shí)間串;
- %C 年份的后兩位數(shù)字;
- %d 十進(jìn)制表示的每月的第幾天;
- %D 月/天/年;
- %e 在兩字符域中,十進(jìn)制表示的每月的第幾天;
- %F 年-月-日;
- %g 年份的后兩位數(shù)字,使用基于周的年;
- %G 年分,使用基于周的年;
- %h 簡(jiǎn)寫的月份名;
- %H 24 小時(shí)制的小時(shí);
- %I 12 小時(shí)制的小時(shí);
- **%j **十進(jìn)制表示的每年的第幾天;
- %m 十進(jìn)制表示的月份;
- %M 十時(shí)制表示的分鐘數(shù);
- %n 新行符;
- %p 本地的 AM 或 PM 的等價(jià)顯示;
- %r 12 小時(shí)的時(shí)間;
- %R 顯示小時(shí)和分鐘:hh:mm;
- %S 十進(jìn)制的秒數(shù);
- %t 水平制表符;
- %T 顯示時(shí)分秒:hh:mm:ss;
- %u 每周的第幾天,星期一為第一天 (值從 0 到 6,星期一為 0);
- %U 第年的第幾周,把星期日做為第一天(值從 0 到 53);
- %V 每年的第幾周,使用基于周的年;
- %w 十進(jìn)制表示的星期幾(值從 0 到 6,星期天為 0);
- %W 每年的第幾周,把星期一做為第一天(值從 0 到 53);
- %x 標(biāo)準(zhǔn)的日期串;
- %X 標(biāo)準(zhǔn)的時(shí)間串;
- %y 不帶世紀(jì)的十進(jìn)制年份(值從 0 到 99);
- %Y 帶世紀(jì)部分的十制年份;
- %z,%Z 時(shí)區(qū)名稱,如果不能得到時(shí)區(qū)名稱則返回空字符;
- %% 百分號(hào);
將 struct_time 對(duì)象轉(zhuǎn)為自定義時(shí)間格式,示例代碼如下:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說(shuō)編程 @Blog(個(gè)人博客地址): www.codersrc.com @File:Python time 模塊.py @Time:2021/3/28 07:37 @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!"""# 導(dǎo)入時(shí)間time模塊 import timestr_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())#再由中間格式轉(zhuǎn)為字符串(str) print(str_time)str_time = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime())#再由中間格式轉(zhuǎn)為字符串(str) print(str_time)str_time = time.strftime('%Y/%m/%d %H-%M-%S', time.localtime())#再由中間格式轉(zhuǎn)為字符串(str) print(str_time)''' 輸出結(jié)果: 2019-11-07 14:14:59 2019/11/07 22:14:59 2019/11/07 22-14-59'''3.Python time 模塊查看代碼執(zhí)行時(shí)間
在 Python 開發(fā)項(xiàng)目過(guò)程中,我們往往會(huì)優(yōu)化代碼,查找哪些代碼比較耗時(shí),具體耗時(shí)多少,那么同樣也可以通過(guò) time 模塊完成
# 導(dǎo)入時(shí)間模塊 import timestart_time = time.time() # 代碼塊 elapse_time = time.time() - start_time # 單位:秒代碼分析:通過(guò) time.time() 獲取當(dāng)前時(shí)間,然后兩個(gè)時(shí)間相減,自然就能得到代碼耗時(shí)時(shí)間,單位:秒,示例代碼如下:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說(shuō)編程 @Blog(個(gè)人博客地址): www.codersrc.com @File:Python time 模塊.py @Time:2021/3/28 07:37 @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!"""# 導(dǎo)入時(shí)間time模塊 import timedef my_model():start_time = time.time()# 如果年底老板給我加薪,我就注釋這行代碼,可以讓程序運(yùn)行效率明顯提升time.sleep(0.5)end_time = time.time()print("核心功能代碼耗時(shí):{}秒".format(end_time - start_time))if __name__ == "__main__":# 核心功能實(shí)現(xiàn)for i in range(0,10):my_model()如果哪天你用這樣的代碼去忽悠你的項(xiàng)目經(jīng)歷或者老板,當(dāng)你被打斷腿的時(shí)候請(qǐng)不要提起我!
四.猜你喜歡
未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? Python time 模塊
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Python time 模块 - Python零基础入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python eval 函数 -Pyth
- 下一篇: 网络通信的两个要素