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采集腾讯新闻实例
Jul 10 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
Python 文件处理注意事项总结
Apr 10 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
简单的python协同过滤程序实例代码
Jan 31 Python
python实现列表的排序方法分享
Jul 01 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
Python面向对象之Web静态服务器
Sep 03 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
Python eval函数原理及用法解析
Nov 14 Python
Python性能测试工具Locust安装及使用
Dec 01 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
一个程序下载的管理程序(一)
2006/10/09 PHP
用Flash图形化数据(一)
2006/10/09 PHP
亲密接触PHP之PHP语法学习笔记1
2006/12/17 PHP
ThinkPHP php 框架学习笔记
2009/10/30 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
Python实现周期性抓取网页内容的方法
2015/11/04 Python
python如何查看系统网络流量的信息
2016/09/12 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
基于python生成器封装的协程类
2019/03/20 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
捷克玩具商店:Bambule
2019/02/23 全球购物
网络书店创业计划书
2014/02/07 职场文书
协议书格式
2014/04/23 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
教师节祝酒词
2015/08/11 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏