Python獲取指定日期是"星期幾"的6種方法
在Python進(jìn)行數(shù)據(jù)分析時(shí),按照日期進(jìn)行分組匯總也是被需要的,比如會(huì)找到銷(xiāo)量的周期性規(guī)律。
那么在用Python進(jìn)行數(shù)據(jù)統(tǒng)計(jì)之前,就需要額外增加一步:從指定的日期當(dāng)中獲取星期幾。比如2022年2月22日,還正好是正月廿二星期二,于是乎這一天登記結(jié)婚的人特別多。本文就以2022-02-22為例,演示Python獲取指定日期是“星期幾”的6種方法!
weekday()
datetime
模塊是一個(gè)Python內(nèi)置庫(kù),無(wú)需再進(jìn)行pip安裝,它除了可以顯示日期和時(shí)間之外,還可以進(jìn)行日期和時(shí)間的運(yùn)算以及格式化。
datetime
模塊中的方法weekday()
可用于檢索星期幾,結(jié)果返回0-6之間的整數(shù),用來(lái)代表“星期一”到“星期日”。
在交互式環(huán)境中輸入如下命令:
from?datetime?import?datetime datetime.date(2022,?2,?22).weekday()
輸出:
1
在代碼中,datetime
模塊會(huì)先將由年、月和日組成的日期轉(zhuǎn)換為datetime日期。然后weekday()
方法獲取“2022-02-22”這天是星期二。
但是根據(jù)我們國(guó)內(nèi)的習(xí)慣,總不能直接輸出1吧。所以我們可以先自定義一個(gè)包含中文“星期幾”的列表,再通過(guò)索引的方式來(lái)返回一個(gè)中文的星期幾。
在交互式環(huán)境中輸入如下命令:
week_list?=?["星期一","星期二","星期三","星期四","星期五","星期六","星期日"] week_list[datetime.date(2022,?2,?22).weekday()]
輸出:
'星期二'
這樣結(jié)果便是直接是星期二了。
isoweekday()
isoweekday()
方法與前一個(gè)weekday()
方法的工作原理類(lèi)似,最大的區(qū)別是它返回1-7之間的整數(shù),用來(lái)代表“星期一”到“星期日”。
在交互式環(huán)境中輸入如下命令:
import?datetime datetime.date(2022,?2,?22).isoweekday()
輸出:
2
這次輸出的結(jié)果便直接是“星期2”了。
strftime()
如果你想直接輸出日期的英文周名,不妨試試strftime()
方法。
利用strftime()
方法可以將datetime對(duì)象顯示為字符串。我們其實(shí)對(duì)日期格式轉(zhuǎn)化為字符串格式非常熟悉,比如strftime('%b-%m-%y %H:%M:%S')
,只需將其中的指令改為%A
,即可得到日期是星期幾。
在交互式環(huán)境中輸入如下命令:
import?datetime datetime.date(2022,?2,?22).strftime("%A")
輸出:
'Tuesday'
如果將代碼中的%A改為%a,則輸出的是星期幾的簡(jiǎn)寫(xiě)。
datetime.date(2022,?2,?22).strftime("%a")
輸出:
'Tue'
calendar
在Python中calendar
日歷模塊也是一個(gè)內(nèi)置庫(kù),為我們對(duì)日歷做處理提供了很多方法,使用起來(lái)非常方便,我們可以使用它制作日歷/周歷等等。同樣,它也提供了weekday()
和day_name()
方法來(lái)查詢(xún)指定日期是星期幾。
在交互式環(huán)境中輸入如下命令:
import?calendar calendar.weekday(2022,?2,?22)
輸出:
1
這與前文第一個(gè)方法的datetime
模塊weekday()
方法是一模一樣的。
如果你想直接輸出日期的英文周名,calendar
日歷模塊也有方法可以實(shí)現(xiàn)。
import?datetime import?calendar date_week?=?datetime.date(2022,?2,?22).weekday() calendar.day_name[date_week]
輸出:
'Tuesday'
pendulum
datetime模塊也有一些限制,比如處理時(shí)區(qū)問(wèn)題等等。而pendulum
模塊是這個(gè)第三方開(kāi)源庫(kù),可以解決內(nèi)置datetime模塊的所有問(wèn)題。
https://pypi.org/project/pendulum/
當(dāng)然,它也有方法可以輸出指定日期是星期幾。
在交互式環(huán)境中輸入如下命令:
import?pendulum pendulum.parse('2022-02-22').day_of_week
輸出:
2
輸出的結(jié)果直接是“星期2”。
Pandas
最后,最后,我要說(shuō)一個(gè)自己最常用的方法。因?yàn)樾∥迤綍r(shí)主要在Pandas中處理數(shù)據(jù),那么生成“星期”列肯定會(huì)優(yōu)先考慮Pandas中的方法。
Series.dt
可用于以datetimelike的形式訪(fǎng)問(wèn)序列的值并返回幾個(gè)屬性。Series.dt.day_name()
函數(shù)返回具有指定語(yǔ)言環(huán)境的DateTimeIndex的日期名稱(chēng)。
在交互式環(huán)境中輸入如下命令:
import?pandas?as?pd from?datetime?import?datetime df?=?pd.DataFrame({ ????"name":?["張三",?"李四",?"朱五"], ????"date":?[datetime(2022,?2,?21),?datetime(2022,?2,?22),?datetime(2022,?2,?23)]}) df
輸出如下圖所示:
df["week_num1"]?=?df["date"].dt.dayofweek df["week_num2"]?=?df["date"].dt.weekday df["week_name"]?=?df["date"].dt.day_name() df
輸出如下圖所示:
到此這篇關(guān)于Python獲取指定日期是"星期幾"的6種方法的文章就介紹到這了,更多相關(guān)Python指定日期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3基礎(chǔ)之條件與循環(huán)控制實(shí)例解析
這篇文章主要介紹了Python3基礎(chǔ)的條件與循環(huán)控制,需要的朋友可以參考下2014-08-08python深度學(xué)習(xí)之多標(biāo)簽分類(lèi)器及pytorch實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了python深度學(xué)習(xí)之多標(biāo)簽分類(lèi)器的使用說(shuō)明及pytorch的實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01詳解python uiautomator2 watcher的使用方法
這篇文章主要介紹了python uiautomator2 watcher的使用方法,該方是基于uiautomator2如下版本進(jìn)行驗(yàn)證,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-09-09python學(xué)生信息管理系統(tǒng)(初級(jí)版)
這篇文章主要為大家詳細(xì)介紹了python學(xué)生信息管理系統(tǒng)的初級(jí)版本代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解
本篇文章主要介紹了Python 中 Virtualenv 和 pip 的簡(jiǎn)單用法詳解,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08python提效小工具之統(tǒng)計(jì)xmind用例數(shù)量(源碼)
這篇文章主要介紹了python提效小工具之統(tǒng)計(jì)xmind用例數(shù)量,利用python開(kāi)發(fā)小工具,實(shí)現(xiàn)同一份xmind文件中一個(gè)或多個(gè)sheet頁(yè)的用例數(shù)量統(tǒng)計(jì)功能,需要的朋友可以參考下2022-10-10使用python實(shí)現(xiàn)微信小程序自動(dòng)簽到功能
這篇文章主要介紹了使用python實(shí)現(xiàn)微信小程序自動(dòng)簽到功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Python使用pandas導(dǎo)入csv文件內(nèi)容的示例代碼
這篇文章主要介紹了Python使用pandas導(dǎo)入csv文件內(nèi)容,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12