Python获取指定日期是"星期几"的6种方法


Posted in Python onMarch 13, 2022

在Python进行数据分析时,按照日期进行分组汇总也是被需要的,比如会找到销量的周期性规律。

那么在用Python进行数据统计之前,就需要额外增加一步:从指定的日期当中获取星期几。比如2022年2月22日,还正好是正月廿二星期二,于是乎这一天登记结婚的人特别多。本文就以2022-02-22为例,演示Python获取指定日期是“星期几”的6种方法!

Python获取指定日期是"星期几"的6种方法

weekday()

datetime模块是一个Python内置库,无需再进行pip安装,它除了可以显示日期和时间之外,还可以进行日期和时间的运算以及格式化。

datetime模块中的方法weekday()可用于检索星期几,结果返回0-6之间的整数,用来代表“星期一”到“星期日”。

在交互式环境中输入如下命令:

from datetime import datetime
datetime.date(2022, 2, 22).weekday()

输出:

1

在代码中,datetime模块会先将由年、月和日组成的日期转换为datetime日期。然后weekday()方法获取“2022-02-22”这天是星期二。

但是根据我们国内的习惯,总不能直接输出1吧。所以我们可以先自定义一个包含中文“星期几”的列表,再通过索引的方式来返回一个中文的星期几。

在交互式环境中输入如下命令:

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

输出:

'星期二'

这样结果便是直接是星期二了。

isoweekday()

isoweekday()方法与前一个weekday()方法的工作原理类似,最大的区别是它返回1-7之间的整数,用来代表“星期一”到“星期日”。

在交互式环境中输入如下命令:

import datetime
datetime.date(2022, 2, 22).isoweekday()

输出:

2

这次输出的结果便直接是“星期2”了。

strftime()

如果你想直接输出日期的英文周名,不妨试试strftime()方法。

利用strftime()方法可以将datetime对象显示为字符串。我们其实对日期格式转化为字符串格式非常熟悉,比如strftime('%b-%m-%y %H:%M:%S'),只需将其中的指令改为%A,即可得到日期是星期几。

在交互式环境中输入如下命令:

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

输出:

'Tuesday'

如果将代码中的%A改为%a,则输出的是星期几的简写。

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

输出:

'Tue'

calendar

在Python中calendar日历模块也是一个内置库,为我们对日历做处理提供了很多方法,使用起来非常方便,我们可以使用它制作日历/周历等等。同样,它也提供了weekday()day_name()方法来查询指定日期是星期几。

在交互式环境中输入如下命令:

import calendar
calendar.weekday(2022, 2, 22)

输出:

1

这与前文第一个方法的datetime模块weekday()方法是一模一样的。

如果你想直接输出日期的英文周名,calendar日历模块也有方法可以实现。

import datetime
import calendar

date_week = datetime.date(2022, 2, 22).weekday()
calendar.day_name[date_week]

输出:

'Tuesday'

pendulum

datetime模块也有一些限制,比如处理时区问题等等。而pendulum模块是这个第三方开源库,可以解决内置datetime模块的所有问题。

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

当然,它也有方法可以输出指定日期是星期几。

在交互式环境中输入如下命令:

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

输出:

2

输出的结果直接是“星期2”。

Pandas

最后,最后,我要说一个自己最常用的方法。因为小五平时主要在Pandas中处理数据,那么生成“星期”列肯定会优先考虑Pandas中的方法。

Series.dt可用于以datetimelike的形式访问序列的值并返回几个属性。Series.dt.day_name()函数返回具有指定语言环境的DateTimeIndex的日期名称。

在交互式环境中输入如下命令:

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

输出如下图所示:

Python获取指定日期是"星期几"的6种方法

df["week_num1"] = df["date"].dt.dayofweek
df["week_num2"] = df["date"].dt.weekday
df["week_name"] = df["date"].dt.day_name()
df

输出如下图所示:

Python获取指定日期是"星期几"的6种方法

到此这篇关于Python获取指定日期是"星期几"的6种方法的文章就介绍到这了,更多相关Python指定日期内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
python的类变量和成员变量用法实例教程
Aug 25 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
python实现按长宽比缩放图片
Jun 07 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
python自动脚本的pyautogui入门学习
Apr 01 Python
Python StringIO及BytesIO包使用方法解析
Jun 15 Python
python else语句在循环中的运用详解
Jul 06 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
python如何调用php文件中的函数详解
Dec 29 Python
python 对xml解析的示例
Feb 27 Python
Python+tkinter实现高清图片保存
Python中的 Set 与 dict
Mar 13 #Python
Python echarts实现数据可视化实例详解
分享3个非常实用的 Python 模块
Mar 03 #Python
详解在OpenCV中如何使用图像像素
 Python 中 logging 模块使用详情
Mar 03 #Python
分享7个 Python 实战项目练习
Mar 03 #Python
You might like
目录,文件操作详谈―PHP
2006/11/25 PHP
PHP 反射机制实现动态代理的代码
2008/10/22 PHP
php判断是否为json格式的方法
2014/03/04 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
vue-cli之router基本使用方法详解
2017/10/17 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
为Python程序添加图形化界面的教程
2015/04/29 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
入党申请人的自我鉴定
2013/12/01 职场文书
小学校园活动策划
2014/01/30 职场文书
班班通校本培训方案
2014/03/12 职场文书
大专生求职信
2014/06/29 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
师德师风培训感言
2015/08/03 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
nginx服务器的下载安装与使用详解
2021/08/02 Servers
vue实现移动端div拖动效果
2022/03/03 Vue.js
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python