Python datetime庫(kù)函數(shù)的示例詳解
datetime
是 Python 內(nèi)置的日期時(shí)間處理庫(kù),它包含了處理日期、時(shí)間、時(shí)間間隔等的類(lèi)和函數(shù)。datetime 庫(kù)可以從系統(tǒng)中獲得時(shí)間,并以用戶(hù)選擇的格式輸出。下面是 datetime
常用的類(lèi)和函數(shù)以及它們的詳細(xì)解釋。
datetime 類(lèi)
datetime
類(lèi)是 date
和 time
兩個(gè)類(lèi)的結(jié)合體,表示一個(gè)具體的日期和時(shí)間。
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: 小時(shí),0~23 之間的整數(shù)。
- minute: 分鐘,0~59 之間的整數(shù)。
- second: 秒,0~59 之間的整數(shù)。
- microsecond: 微秒,0~999999 之間的整數(shù)。
- tzinfo: 時(shí)區(qū)信息,如果不指定則表示本地時(shí)區(qū)。
- fold: 用于處理 DST(夏令時(shí))的標(biāo)記,0 表示未折疊,1 表示已折疊。
下面是 datetime
類(lèi)的一些常用方法:
datetime.today()
和datetime.now()
: 返回當(dāng)前日期和時(shí)間。datetime.date()
: 返回日期部分。datetime.time()
: 返回時(shí)間部分。datetime.timestamp()
: 將datetime
對(duì)象轉(zhuǎn)換為 Unix 時(shí)間戳。datetime.strftime()
: 將datetime
對(duì)象格式化為字符串。datetime.strptime()
: 將字符串解析為datetime
對(duì)象。
date 類(lèi)
date
類(lèi)表示一個(gè)日期,不包含時(shí)間信息。
class datetime.date(year, month, day)
- year: 年份,四位數(shù)。例如:2021。
- month: 月份,1~12 之間的整數(shù)。
- day: 日,1~31 之間的整數(shù)。
下面是 date
類(lèi)的一些常用方法:
date.today()
: 返回當(dāng)前日期。date.fromisoformat()
: 將 ISO 格式字符串轉(zhuǎn)換為date
對(duì)象。date.toordinal()
: 將date
對(duì)象轉(zhuǎn)換為 Gregorian 日歷下的序數(shù)。date.weekday()
: 返回星期幾,0 表示星期一,6 表示星期日。date.strftime()
: 將date
對(duì)象格式化為字符串。date.fromtimestamp()
: 將 Unix 時(shí)間戳轉(zhuǎn)換為date
對(duì)象。
time 類(lèi)
time
類(lèi)表示一個(gè)時(shí)間,不包含日期信息。
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
- hour: 小時(shí),0~23 之間的整數(shù)。
- minute: 分鐘,0~59 之間的整數(shù)。
- second: 秒,0~59 之間的整數(shù)。
- microsecond: 微秒,0~999999 之間的整數(shù)。
- tzinfo: 時(shí)區(qū)信息,如果不指定則表示本地時(shí)區(qū)。
- fold: 用于處理 DST(夏令時(shí))的標(biāo)記,0 表示未折疊,1 表示已折疊。
下面是 time
類(lèi)的一些常用方法:
time.fromisoformat()
: 將 ISO 格式字符串轉(zhuǎn)換為time
對(duì)象。time.strftime()
: 將time
對(duì)象格式化為字符串。time.fromtimestamp()
: 將 Unix 時(shí)間戳轉(zhuǎn)換為time
對(duì)象。
timedelta 類(lèi)
timedelta
類(lèi)表示兩個(gè)日期或時(shí)間之間的時(shí)間間隔。
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í)數(shù),可以為負(fù)數(shù)。
- weeks: 周數(shù),可以為負(fù)數(shù)。
下面是 timedelta
類(lèi)的一些常用方法:
timedelta.total_seconds()
: 返回時(shí)間間隔的總秒數(shù)。timedelta.days
: 返回天數(shù)。timedelta.seconds
: 返回秒數(shù),不包括天數(shù)。timedelta.microseconds
: 返回微秒數(shù),不包括天數(shù)和秒數(shù)。
其他函數(shù)
除了上述類(lèi)之外,datetime
模塊還提供了一些其他函數(shù),如下所示:
datetime.datetime.strptime(date_string, format)
: 將字符串解析為datetime
對(duì)象。datetime.datetime.combine(date, time)
: 將date
對(duì)象和time
對(duì)象組合為datetime
對(duì)象。datetime.datetime.now(tz=None)
: 返回當(dāng)前日期和時(shí)間,可以指定時(shí)區(qū)。datetime.datetime.utcnow()
: 返回當(dāng)前 UTC 時(shí)間。datetime.datetime.fromtimestamp(timestamp, tz=None)
: 將 Unix 時(shí)間戳轉(zhuǎn)換為datetime
對(duì)象,可以指定時(shí)區(qū)。datetime.datetime.fromordinal(ordinal)
: 將 Gregorian 日歷下的序數(shù)轉(zhuǎn)換為datetime
對(duì)象。datetime.datetime.fromisoformat(date_string)
: 將 ISO 格式字符串轉(zhuǎn)換為datetime
對(duì)象。datetime.date.today()
: 返回當(dāng)前日期。datetime.date.fromtimestamp(timestamp)
: 將 Unix 時(shí)間戳轉(zhuǎn)換為date
對(duì)象。datetime.date.fromisoformat(date_string)
: 將 ISO 格式字符串轉(zhuǎn)換為date
對(duì)象。datetime.time.fromisoformat(time_string)
: 將 ISO 格式字符串轉(zhuǎn)換為time
對(duì)象。
以上是 datetime
模塊中一些常用的類(lèi)和函數(shù),可以方便地進(jìn)行日期時(shí)間的處理和轉(zhuǎn)換。
strftime() 方法
datetime.strftime()
作用: 將 datetime
對(duì)象格式化為字符串。
strftime() 方法是時(shí)間格式化最有效的方法,幾乎可以以任何通用格式輸出時(shí)間。例如下面的例子,用該方法輸出特定格式時(shí)間。
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í)間 | 值范圍和實(shí)例 |
---|---|---|
%Y | 年份 | 0001~9999 |
%m | 月份 | 01~12 |
%B | 月名 | January~December |
%b | 月名縮寫(xiě) | Jan~Dec |
%d | 日期 | 01~31 |
%A | 星期 | Monday~Sunday |
%a | 星期縮寫(xiě) | Mon~Sun |
%H | 小時(shí)(24 h 制) | 00~23 |
%M | 分鐘 | 00~59 |
%S | 秒 | 00~59 |
%x | 日期 | 月/日/年,例如,01/01/2022 |
%X | 時(shí)間 | 時(shí) :分:秒,例如,19 : 09 : 31 |
strftime() 格式化字符串的數(shù)字左側(cè)會(huì)自動(dòng)補(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}%dvvxyksv9kd %H{h}%M{f}%S{s}').format(y='年', m='月', d='日', h='時(shí)', f='分', s='秒') print(ft) # 2023年07月03日 10時(shí)02分54秒 print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now)) # 今天是 2023 年 07 月 03 日
到此這篇關(guān)于Python datetime庫(kù)函數(shù)的詳解的文章就介紹到這了,更多相關(guān)Python datetime庫(kù)函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django數(shù)據(jù)庫(kù)遷移migration實(shí)現(xiàn)
這篇文章主要介紹了django數(shù)據(jù)庫(kù)遷移migration實(shí)現(xiàn),遷移任務(wù)是根據(jù)對(duì)models.py文件的改動(dòng)情況,添加或者刪除表和列,下面詳細(xì)的相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-02-02結(jié)合Python工具使用TfidfVectorizer進(jìn)行文本特征提取方式
在自然語(yǔ)言處理中,TF-IDF是一種重要的特征提取方法,本文介紹了如何使用Python的sklearn庫(kù)中的TfidfVectorizer進(jìn)行文本特征提取,首先,需要安裝sklearn庫(kù),TfidfVectorizer能將文本文檔集合轉(zhuǎn)換為T(mén)F-IDF特征矩陣2024-10-10python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼
今天小編就為大家分享一篇python按鍵按住不放持續(xù)響應(yīng)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python測(cè)試框架pytest核心庫(kù)pluggy詳解
這篇文章主要為大家介紹了Python測(cè)試框架pytest核心庫(kù)pluggy使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08python基礎(chǔ)學(xué)習(xí)之遞歸函數(shù)知識(shí)總結(jié)
在函數(shù)中調(diào)用函數(shù)自身,我們把這樣的函數(shù)叫做遞歸函數(shù), 遞歸函數(shù)就是循環(huán)的調(diào)用,類(lèi)似于俄羅斯套娃,本文給各位小伙伴詳細(xì)介紹了python遞歸函數(shù),需要的朋友可以參考下2021-05-05