Python datetime庫函數(shù)的示例詳解
datetime 是 Python 內(nèi)置的日期時間處理庫,它包含了處理日期、時間、時間間隔等的類和函數(shù)。datetime 庫可以從系統(tǒng)中獲得時間,并以用戶選擇的格式輸出。下面是 datetime 常用的類和函數(shù)以及它們的詳細(xì)解釋。
datetime 類
datetime 類是 date 和 time 兩個類的結(jié)合體,表示一個具體的日期和時間。
class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
- year: 年份,四位數(shù)。例如:2021。
- month: 月份,1~12 之間的整數(shù)。
- day: 日,1~31 之間的整數(shù)。
- hour: 小時,0~23 之間的整數(shù)。
- minute: 分鐘,0~59 之間的整數(shù)。
- second: 秒,0~59 之間的整數(shù)。
- microsecond: 微秒,0~999999 之間的整數(shù)。
- tzinfo: 時區(qū)信息,如果不指定則表示本地時區(qū)。
- fold: 用于處理 DST(夏令時)的標(biāo)記,0 表示未折疊,1 表示已折疊。
下面是 datetime 類的一些常用方法:
datetime.today()和datetime.now(): 返回當(dāng)前日期和時間。datetime.date(): 返回日期部分。datetime.time(): 返回時間部分。datetime.timestamp(): 將datetime對象轉(zhuǎn)換為 Unix 時間戳。datetime.strftime(): 將datetime對象格式化為字符串。datetime.strptime(): 將字符串解析為datetime對象。
date 類
date 類表示一個日期,不包含時間信息。
class datetime.date(year, month, day)
- year: 年份,四位數(shù)。例如:2021。
- month: 月份,1~12 之間的整數(shù)。
- day: 日,1~31 之間的整數(shù)。
下面是 date 類的一些常用方法:
date.today(): 返回當(dāng)前日期。date.fromisoformat(): 將 ISO 格式字符串轉(zhuǎn)換為date對象。date.toordinal(): 將date對象轉(zhuǎn)換為 Gregorian 日歷下的序數(shù)。date.weekday(): 返回星期幾,0 表示星期一,6 表示星期日。date.strftime(): 將date對象格式化為字符串。date.fromtimestamp(): 將 Unix 時間戳轉(zhuǎn)換為date對象。
time 類
time 類表示一個時間,不包含日期信息。
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
- hour: 小時,0~23 之間的整數(shù)。
- minute: 分鐘,0~59 之間的整數(shù)。
- second: 秒,0~59 之間的整數(shù)。
- microsecond: 微秒,0~999999 之間的整數(shù)。
- tzinfo: 時區(qū)信息,如果不指定則表示本地時區(qū)。
- fold: 用于處理 DST(夏令時)的標(biāo)記,0 表示未折疊,1 表示已折疊。
下面是 time 類的一些常用方法:
time.fromisoformat(): 將 ISO 格式字符串轉(zhuǎn)換為time對象。time.strftime(): 將time對象格式化為字符串。time.fromtimestamp(): 將 Unix 時間戳轉(zhuǎn)換為time對象。
timedelta 類
timedelta 類表示兩個日期或時間之間的時間間隔。
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
- days: 天數(shù),可以為負(fù)數(shù)。
- seconds: 秒數(shù),可以為負(fù)數(shù)。
- microseconds: 微秒數(shù),可以為負(fù)數(shù)。
- milliseconds: 毫秒數(shù),可以為負(fù)數(shù)。
- minutes: 分鐘數(shù),可以為負(fù)數(shù)。
- hours: 小時數(shù),可以為負(fù)數(shù)。
- weeks: 周數(shù),可以為負(fù)數(shù)。
下面是 timedelta 類的一些常用方法:
timedelta.total_seconds(): 返回時間間隔的總秒數(shù)。timedelta.days: 返回天數(shù)。timedelta.seconds: 返回秒數(shù),不包括天數(shù)。timedelta.microseconds: 返回微秒數(shù),不包括天數(shù)和秒數(shù)。
其他函數(shù)
除了上述類之外,datetime 模塊還提供了一些其他函數(shù),如下所示:
datetime.datetime.strptime(date_string, format): 將字符串解析為datetime對象。datetime.datetime.combine(date, time): 將date對象和time對象組合為datetime對象。datetime.datetime.now(tz=None): 返回當(dāng)前日期和時間,可以指定時區(qū)。datetime.datetime.utcnow(): 返回當(dāng)前 UTC 時間。datetime.datetime.fromtimestamp(timestamp, tz=None): 將 Unix 時間戳轉(zhuǎn)換為datetime對象,可以指定時區(qū)。datetime.datetime.fromordinal(ordinal): 將 Gregorian 日歷下的序數(shù)轉(zhuǎn)換為datetime對象。datetime.datetime.fromisoformat(date_string): 將 ISO 格式字符串轉(zhuǎn)換為datetime對象。datetime.date.today(): 返回當(dāng)前日期。datetime.date.fromtimestamp(timestamp): 將 Unix 時間戳轉(zhuǎn)換為date對象。datetime.date.fromisoformat(date_string): 將 ISO 格式字符串轉(zhuǎn)換為date對象。datetime.time.fromisoformat(time_string): 將 ISO 格式字符串轉(zhuǎn)換為time對象。
以上是 datetime 模塊中一些常用的類和函數(shù),可以方便地進(jìn)行日期時間的處理和轉(zhuǎn)換。
strftime() 方法
datetime.strftime()作用: 將 datetime 對象格式化為字符串。
strftime() 方法是時間格式化最有效的方法,幾乎可以以任何通用格式輸出時間。例如下面的例子,用該方法輸出特定格式時間。
from datetime import datetime
today = datetime.now()
print(today.strftime("%Y-%m-%d %H : %M : %S"))
# 執(zhí)行結(jié)果
2023-07-03 08 : 49 : 40下表是 strftime() 方法的格式化控制符:
| 格式化字符串 | 日期/時間 | 值范圍和實(shí)例 |
|---|---|---|
| %Y | 年份 | 0001~9999 |
| %m | 月份 | 01~12 |
| %B | 月名 | January~December |
| %b | 月名縮寫 | Jan~Dec |
| %d | 日期 | 01~31 |
| %A | 星期 | Monday~Sunday |
| %a | 星期縮寫 | Mon~Sun |
| %H | 小時(24 h 制) | 00~23 |
| %M | 分鐘 | 00~59 |
| %S | 秒 | 00~59 |
| %x | 日期 | 月/日/年,例如,01/01/2022 |
| %X | 時間 | 時 :分:秒,例如,19 : 09 : 31 |
strftime() 格式化字符串的數(shù)字左側(cè)會自動補(bǔ)零,上述格式也可以與 print() 的格式化函數(shù)起使用,例如:
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y- %m- %d")) # 2023- 07- 03
print(now.strftime('%A, %d. %B %Y %H : %M%p')) # Monday, 03. July 2023 10 : 05AM
ft = now.strftime('%Y{y}%m{m}%dwppm3vysvbp %H{h}%M{f}%S{s}').format(y='年', m='月', d='日', h='時', f='分', s='秒')
print(ft) # 2023年07月03日 10時02分54秒
print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now)) # 今天是 2023 年 07 月 03 日到此這篇關(guān)于Python datetime庫函數(shù)的詳解的文章就介紹到這了,更多相關(guān)Python datetime庫函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
opencv中cv2.minAreaRect函數(shù)輸出角度問題詳解
minAreaRect返回的數(shù)據(jù)包括了矩形的中心點(diǎn),寬、高,和旋轉(zhuǎn)角度,下面這篇文章主要給大家介紹了關(guān)于opencv中cv2.minAreaRect函數(shù)輸出角度問題的相關(guān)資料,需要的朋友可以參考下2022-11-11
將Python代碼嵌入C++程序進(jìn)行編寫的實(shí)例
這篇文章主要介紹了將Python代碼嵌入C++程序進(jìn)行編寫的實(shí)例,盡管通常還是Python代碼中調(diào)用C++程序的情況較多...需要的朋友可以參考下2015-07-07
Python Pygame實(shí)戰(zhàn)之賽車游戲的實(shí)現(xiàn)
如今的游戲可謂是層出不窮,不過小編發(fā)現(xiàn),賽車游戲也是深受大家歡迎啊,像跑跑卡丁車、QQ飛車,還有主機(jī)游戲極品飛車系列。本文將用Python中的Pygame模塊制作一個簡單的賽車游戲,感興趣的可以了解一下2022-03-03
Python標(biāo)準(zhǔn)庫之typing的用法(類型標(biāo)注)
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫之typing的用法(類型標(biāo)注),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
NumPy中np.c_ 和 np.r_ 的區(qū)別小結(jié)
np.c_和?np.r_是NumPy庫中兩個非常有用的函數(shù),它們分別用于按列和按行拼接數(shù)組本文主要介紹了NumPy中np.c_ 和 np.r_ 的區(qū)別小結(jié),具有一定的參考價值,感興趣的可以了解一下2024-02-02
python使用代理ip訪問網(wǎng)站的實(shí)例
今天小編就為大家分享一篇python使用代理ip訪問網(wǎng)站的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分
這篇文章主要介紹了Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分,下文我們介紹一些下面是加載內(nèi)置訓(xùn)練數(shù)據(jù)集的常見操作,需要的小伙伴可以參考一下2022-02-02

