自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

超全!Python獲取某一日期是“星期幾”的六種方法!

開發(fā) 后端
在今天的文章中,我們一共介紹了從指定的日期當(dāng)中獲取星期幾的6中方法。希望我的分享對(duì)你有幫助。

在Python進(jìn)行數(shù)據(jù)分析時(shí),按照日期進(jìn)行分組匯總也是被需要的,比如會(huì)找到銷量的周期性規(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ù),無需再進(jìn)行pip安裝,它除了可以顯示日期和時(shí)間之外,還可以進(jìn)行日期和時(shí)間的運(yùn)算以及格式化。

datetime模塊中的方法weekday()可用于檢索星期幾,結(jié)果返回0-6之間的整數(shù),用來代表“星期一”到“星期日”。

在交互式環(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è)包含中文“星期幾”的列表,再通過索引的方式來返回一個(gè)中文的星期幾。

在交互式環(huán)境中輸入如下命令:

week_list = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
week_list[datetime.date(2022, 2, 22).weekday()]

輸出:

'星期二'

這樣結(jié)果便是直接是星期二了。

isoweekday()

isoweekday()方法與前一個(gè)weekday()方法的工作原理類似,最大的區(qū)別是它返回1-7之間的整數(shù),用來代表“星期一”到“星期日”。

在交互式環(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)寫。

datetime.date(2022, 2, 22).strftime("%a")

輸出:

'Tue'

calendar

在Python中calendar日歷模塊也是一個(gè)內(nèi)置庫(kù),為我們對(duì)日歷做處理提供了很多方法,使用起來非常方便,我們可以使用它制作日歷/周歷等等。同樣,它也提供了weekday()和day_name()方法來查詢指定日期是星期幾。

在交互式環(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ū)問題等等。而pendulum模塊是這個(gè)第三方開源庫(kù),可以解決內(nèi)置datetime模塊的所有問題。

??https://pypi.org/project/pendulum/ ??

當(dāng)然,它也有方法可以輸出指定日期是星期幾。

在交互式環(huán)境中輸入如下命令:

import pendulum
pendulum.parse('2022-02-22').day_of_week

輸出:

2

輸出的結(jié)果直接是“星期2”。

Pandas

最后,最后,我要說一個(gè)自己最常用的方法。因?yàn)樾∥迤綍r(shí)主要在Pandas中處理數(shù)據(jù),那么生成“星期”列肯定會(huì)優(yōu)先考慮Pandas中的方法。

Series.dt可用于以datetimelike的形式訪問序列的值并返回幾個(gè)屬性。Series.dt.day_name()函數(shù)返回具有指定語言環(huán)境的DateTimeIndex的日期名稱。

在交互式環(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

輸出如下圖所示:

在今天的文章中,我們一共介紹了從指定的日期當(dāng)中獲取星期幾的6中方法。

希望我的分享對(duì)你有幫助,看到文末的小伙伴,麻煩給右下角點(diǎn)個(gè)贊再走吧~

責(zé)任編輯:龐桂玉 來源: 菜鳥學(xué)Python
相關(guān)推薦

2010-10-08 11:13:22

MySQL修改密碼

2011-02-24 10:56:34

人才

2025-01-03 08:48:20

列表推導(dǎo)式Python編程

2023-04-26 08:41:16

Git撤消更改

2023-04-03 20:29:00

Linux環(huán)境變量

2023-09-06 08:00:00

ChatGPT數(shù)據(jù)分析

2025-01-02 08:21:32

2021-12-06 06:58:50

List重復(fù)數(shù)據(jù)

2023-06-01 16:45:11

React開發(fā)JavaScript

2024-11-05 08:28:50

2023-12-08 08:53:37

數(shù)據(jù)中心人工智能自動(dòng)化

2011-07-21 16:41:39

外鏈

2022-06-09 08:46:58

ITCIO職業(yè)

2022-06-10 10:25:07

CIOIT領(lǐng)導(dǎo)者職業(yè)生涯

2015-07-09 10:13:05

IT基礎(chǔ)設(shè)施支出數(shù)據(jù)中心

2023-05-15 18:32:20

2023-09-24 14:52:21

數(shù)據(jù)分析相關(guān)系數(shù)矩陣

2010-04-02 15:36:37

Oracle約束

2016-10-25 10:12:13

2022-02-21 22:47:36

首席信息官IT技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)