python常用模塊之時間模塊(time,datetime,timedelta)詳解
1.time模塊
需要導(dǎo)入 import time
1.sleep(secs)
time.sleep(secs)
讓當(dāng)前線程暫停執(zhí)行指定的秒數(shù)
secs:暫停的秒數(shù)(可以是浮點數(shù),如0.1表示100毫秒)
import time
print("開始執(zhí)行")
time.sleep(2.5)
print('2.5秒后繼續(xù)執(zhí)行')2.strptime(string, format)
time.strptime(string, format)
將字符串解析為時間元組
import time
time_tuple=time.strptime('2025-11-20','%Y-%m-%d')
print(time_tuple)#time.struct_time(tm_year=2025, tm_mon=11, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=324, tm_isdst=-1)
print(time_tuple.tm_year)#2025
print(time_tuple.tm_mon)#113.strftime(format[, t])
time.strftime(format[, t])
將時間元組格式化為字符串
參數(shù)t可以省略
import time
# 參數(shù)t省略時,默認(rèn)獲取當(dāng)前時間
print(time.strftime('%Y-%m-%d'))#2025-11-25
# 獲取當(dāng)前時間的時間元組
current_time = time.localtime()
# 格式化為各種字符串格式
print(time.strftime("%Y-%m-%d %H:%M:%S", current_time)) # 2023-08-07 10:30:45
print(time.strftime("%A, %B %d, %Y", current_time)) # Monday, August 07, 2023
print(time.strftime("%I:%M %p", current_time)) # 10:30 AM
print(time.strftime("今天是%Y年的第%j天", current_time)) # 今天是2023年的第219天
# 常用格式符號:
formats = {
"%Y": "4位數(shù)年份",
"%y": "2位數(shù)年份",
"%m": "月份(01-12)",
"%B": "月份全名",
"%b": "月份縮寫",
"%d": "日期(01-31)",
"%A": "星期全名",
"%a": "星期縮寫",
"%H": "24小時制小時",
"%I": "12小時制小時",
"%M": "分鐘",
"%S": "秒",
"%p": "AM/PM",
"%j": "年份中的第幾天"
}
# 不指定t參數(shù),默認(rèn)使用當(dāng)前時間
print(time.strftime("%c")) # 標(biāo)準(zhǔn)的日期時間格式
#Tue Nov 25 15:12:32 20254.time()
time.time() 返回當(dāng)前時間的時間戳(從1970年1月1日00:00:00開始到現(xiàn)在的秒數(shù))
timestamp = time.time()
print(f"當(dāng)前時間戳:{timestamp}")#當(dāng)前時間戳:1764055209.02369745.localtime()
time.localtime()
將時間戳轉(zhuǎn)換為本地時間元組
import time # 不傳參數(shù),默認(rèn)使用當(dāng)前時間 local_time = time.localtime() print(local_time) # 輸出:time.struct_time(tm_year=2025, tm_mon=11, tm_mday=25, tm_hour=15, tm_min=23, tm_sec=58, tm_wday=1, tm_yday=329, tm_isdst=0) # 傳入時間戳 specific_time = time.localtime(1633045320) print(specific_time) #time.struct_time(tm_year=2021, tm_mon=10, tm_mday=1, tm_hour=7, tm_min=42, tm_sec=0, tm_wday=4, tm_yday=274, tm_isdst=0)
2.datetime模塊
需要導(dǎo)入
from datetime import datetime
1.strptime(string, format)
datetime.strptime(string, format)
功能:將字符串解析為datetime對象
from datetime import datetime
random_date=datetime.strptime('2025-10-10', '%Y-%m-%d')#內(nèi)部存儲為datetime對象
print(random_date)#2025-10-10 00:00:00
print(repr(random_date))#datetime.datetime(2025, 10, 10, 0, 0)random_date=datetime.strptime('2025-10-10', '%Y-%m-%d')解析為datetime對象,為什么打印出來是2025-10-10 00:00:00而不是datetime.datetime(2025, 10, 10, 0, 0) ?
補充:
當(dāng)在Python中執(zhí)行:
start = datetime.strptime("2020-01-01", "%Y-%m-%d")
print(start)#2020-01-01 00:00:00實際在Python解釋器中的顯示:
>>> from datetime import datetime
>>> start = datetime.strptime("2020-01-01", "%Y-%m-%d")
>>> start
datetime.datetime(2020, 1, 1, 0, 0) # 這是實際的repr表示兩種表示方法的區(qū)別
1. repr() 表示法(開發(fā)者視圖)
datetime.datetime(2020, 1, 1, 0, 0)
- 這是Python對象的正式字符串表示
- 通過
repr()函數(shù)或直接在解釋器中輸入變量名獲得 - 顯示完整的構(gòu)造函數(shù)調(diào)用格式
- 主要用于調(diào)試和開發(fā)
2. str() 表示法(用戶視圖)
2020-01-01 00:00:00
- 這是對象的友好字符串表示
- 通過
print()函數(shù)或str()函數(shù)獲得 - 顯示為易讀的日期時間格式
- 主要用于輸出和顯示
2.strftime(format)
datetime對象.strftime(format)
功能:將datetime對象格式化為字符串
from datetime import datetime
# 將字符串解析為datetime對象
random_date=datetime.strptime('2025-10-10', '%Y-%m-%d')
print(repr(random_date))#datetime.datetime(2025, 10, 10, 0, 0)
#datetime對象格式化為字符串
print(random_date.strftime('%Y-%m-%d'))#2025-10-10
# ----------------------------------------------------------------
#當(dāng)前時間對象
now=datetime.now()
print(now)#2025-11-25 15:44:50.951160
print(now.strftime("%Y-%m-%d %H:%M:%S"))#2025-11-25 15:45:27
print(now.strftime("%Y年%m月%d日"))#2025年11月25日3.timedelta模塊
需要導(dǎo)入from datetime import timedelta
1.timedelta()
功能:創(chuàng)建時間間隔對象
from datetime import timedelta
# 創(chuàng)建時間間隔
td1 = timedelta(days=5) # 5天
td2 = timedelta(hours=3) # 3小時
td3 = timedelta(weeks=2, days=3) # 2周3天 = 17天
td4 = timedelta(days=1, hours=2, minutes=30, seconds=15, microseconds=500)
print(td1) # 5 days, 0:00:00
print(td3) # 17 days, 0:00:00
print(td4) # 1 day, 2:30:15.000500
# 訪問屬性
print(td4.days)#1
# 計算總時間(以不同單位)
print(f"總秒數(shù): {td4.total_seconds()}") # 198045.0
print(f"總分鐘數(shù): {td4.total_seconds() / 60}") # 3300.75
print(f"總小時數(shù): {td4.total_seconds() / 3600}") # 55.0125
# 參數(shù)范圍:
# weeks, days, hours, minutes, seconds
# milliseconds, microseconds
# 所有參數(shù)都是可選的,默認(rèn)為04.總結(jié)
- time模塊:適合系統(tǒng)級時間操作、性能測試和簡單的時間戳處理
- datetime模塊:適合復(fù)雜的日期時間操作、計算和格式化
- timedelta類:用于時間間隔計算,與datetime配合使用
在實際開發(fā)中,通常根據(jù)具體需求選擇合適的模塊:
- 性能測試和程序暫停使用
time - 大部分日期時間處理使用
datetime - 需要時間間隔計算時使用
timedelta
到此這篇關(guān)于python常用模塊之時間模塊(time,datetime,timedelta)詳解的文章就介紹到這了,更多相關(guān)python時間模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3 使用cookiejar管理cookie的方法
今天小編就為大家分享一篇Python3 使用cookiejar管理cookie的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python非單向遞歸函數(shù)如何返回全部結(jié)果
這篇文章主要介紹了Python非單向遞歸函數(shù)如何返回全部結(jié)果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python 插入日期數(shù)據(jù)到Oracle實例
這篇文章主要介紹了python 插入日期數(shù)據(jù)到Oracle實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python 爬蟲批量爬取網(wǎng)頁圖片保存到本地的實現(xiàn)代碼
這篇文章主要介紹了Python 爬蟲批量爬取網(wǎng)頁圖片保存到本地,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
Python使用pymongo模塊操作MongoDB的方法示例
這篇文章主要介紹了Python使用pymongo模塊操作MongoDB的方法,結(jié)合實例形式分析了Python基于pymongo模塊連接MongoDB數(shù)據(jù)庫以及增刪改查與日志記錄相關(guān)操作技巧,需要的朋友可以參考下2018-07-07

