目錄
零基礎(chǔ) Python 學習路線推薦 : Python 學習目錄 >> Python 基礎(chǔ)入門
Python time 模塊主要包含各種提供日期晶默、時間功能的相關(guān)函數(shù)强戴。time 模塊既提供了把日期噪矛、時間格式化為字符串的功能放可,也提供了從字符串恢復(fù)日期、時間的功能茫叭。
一.前言
在 time 模塊內(nèi)提供了很多函數(shù)酬屉,很多函數(shù)都會返回一個** time.struct_time** 類,該類代表一個時間對象揍愁,它主要包含 9 個屬性呐萨,每個屬性的信息如圖所示:
二.Python time 模塊常用函數(shù)介紹
**time.gmtime([secs]) **— 將以秒數(shù)代表的時間轉(zhuǎn)換為 struct_time 對象。如果不傳入?yún)?shù)吗垮,則使用當前時間垛吗;
time.asctime([t]) — 將時間元組或 struct_time 轉(zhuǎn)換為時間字符串。如果不指定參數(shù) t烁登,則默認轉(zhuǎn)換當前時間怯屉;
time.localtime([secs]) — 將以秒數(shù)代表的時間轉(zhuǎn)換為代表當前時間的 struct_time 對象蔚舀。如果不傳入?yún)?shù),則使用當前時間锨络;
time.sleep(secs) — 暫停 secs 秒赌躺,什么都不干;
**time.strftime(format[, t]) **— 將時間元組或 struct_time 對象格式化為指定格式的時間字符串羡儿。如果不指定參數(shù) t礼患,則默認轉(zhuǎn)換當前時間;
**time.strptime(string[, format]) **— 將字符串格式的時間解析成 struct_time 對象掠归;
**time.time() **— 返回從 1970 年 1 月 1 日 0 點整到現(xiàn)在過了多少秒缅叠;
-
time.tzname — 返回本地時區(qū)的名字;
!usr/bin/env python
-- coding:utf-8 _-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里虏冻,不積小流無以成江海肤粱,程序人生的精彩需要堅持不懈地積累!"""
獲取本地時區(qū)的名字
local_time = time.tzname[0]
如果不設(shè)置編碼格式厨相,輸出是亂碼
print(local_time.encode('latin-1').decode('gbk'))
'''
輸出結(jié)果:
中國標準時間
'''
三.Python time 模塊使用
1.Python time 模塊獲取時間
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里领曼,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累蛮穿!
"""
# 導入時間time模塊
import time
# 獲取當前時間庶骄,默認格式
print(time.asctime())
# 返回 time.struct_time 類型對象
print(time.gmtime())
# 返回 time.struct_time 類型對象
print(time.localtime())
# 返回從 1970 年 1 月 1 日 0 點整到現(xiàn)在過了多少秒
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 模塊自定義時間格式
可以通過 time.strftime 函數(shù) 將 struct_time 對象轉(zhuǎn)為自定義時間格式 或者 將字符串轉(zhuǎn)為 struct_time 對象,在轉(zhuǎn)換過程中可能需要用到以下格式參數(shù):
- %a 星期幾的簡寫;
- %A 星期幾的全稱;
- %b 月分的簡寫;
- %B 月份的全稱;
- %c 標準的日期的時間串;
- %C 年份的后兩位數(shù)字;
- %d 十進制表示的每月的第幾天;
- %D 月/天/年;
- %e 在兩字符域中践磅,十進制表示的每月的第幾天;
- %F 年-月-日;
- %g 年份的后兩位數(shù)字单刁,使用基于周的年;
- %G 年分,使用基于周的年;
- %h 簡寫的月份名;
- %H 24 小時制的小時;
- %I 12 小時制的小時;
- **%j **十進制表示的每年的第幾天;
- %m 十進制表示的月份;
- %M 十時制表示的分鐘數(shù);
- %n 新行符;
- %p 本地的 AM 或 PM 的等價顯示;
- %r 12 小時的時間;
- %R 顯示小時和分鐘:hh:mm;
- %S 十進制的秒數(shù);
- %t 水平制表符;
- %T 顯示時分秒:hh:mm:ss;
- %u 每周的第幾天音诈,星期一為第一天 (值從 0 到 6幻碱,星期一為 0);
- %U 第年的第幾周,把星期日做為第一天(值從 0 到 53);
- %V 每年的第幾周细溅,使用基于周的年;
- %w 十進制表示的星期幾(值從 0 到 6,星期天為 0);
- %W 每年的第幾周儡嘶,把星期一做為第一天(值從 0 到 53);
- %x 標準的日期串;
- %X 標準的時間串;
- %y 不帶世紀的十進制年份(值從 0 到 99);
- %Y 帶世紀部分的十制年份;
- %z喇聊,%Z 時區(qū)名稱,如果不能得到時區(qū)名稱則返回空字符;
- %% 百分號;
將 struct_time 對象轉(zhuǎn)為自定義時間格式蹦狂,示例代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里誓篱,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累凯楔!
"""
# 導入時間time模塊
import time
str_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í)行時間
在 Python 開發(fā)項目過程中窜骄,我們往往會優(yōu)化代碼,查找哪些代碼比較耗時摆屯,具體耗時多少邻遏,那么同樣也可以通過 time 模塊完成
# 導入時間模塊
import time
start_time = time.time()
# 代碼塊
elapse_time = time.time() - start_time # 單位:秒
代碼分析:通過 time.time() 獲取當前時間,然后兩個時間相減,自然就能得到代碼耗時時間准验,單位:秒赎线,示例代碼如下:
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里,不積小流無以成江海糊饱,程序人生的精彩需要堅持不懈地積累垂寥!
"""
# 導入時間time模塊
import time
def my_model():
start_time = time.time()
# 如果年底老板給我加薪,我就注釋這行代碼另锋,可以讓程序運行效率明顯提升
time.sleep(0.5)
end_time = time.time()
print("核心功能代碼耗時:{}秒".format(end_time - start_time))
if __name__ == "__main__":
# 核心功能實現(xiàn)
for i in range(0,10):
my_model()
如果哪天你用這樣的代碼去忽悠你的項目經(jīng)歷或者老板滞项,當你被打斷腿的時候請不要提起我!
四.猜你喜歡
- Python 配置環(huán)境
- Python 變量
- Python 運算符
- Python 條件判斷 if/else
- Python while 循環(huán)
- Python break
- Python continue
- Python for 循環(huán)
- Python 字符串
- Python 列表 list
- Python 元組 tuple
- Python 字典 dict
- Python 條件推導式
- Python 列表推導式
- Python 字典推導式
未經(jīng)允許不得轉(zhuǎn)載:猿說編程 ? Python time 模塊
本文由博客 - 猿說編程 猿說編程 發(fā)布夭坪!