Python根据当前日期取去年同星期日期


Posted in Python onApril 14, 2019

业务的开发时候有一个需求,需要对比当前时间段和去年同星期的时间段的数据,例如当前时间是2019-04-11,是今年的第十五周的周四,如何去取去年的第十五周的周四呢?

查了好多资料没有对应的处理方法,于是自己写了这个方法,如果您有更好的方法,可以留言。

python的datetime模块有个查看日历的方法

date_week_info = datetime.datetime.strptime("2019-04-11", "%Y-%m-%d").isocalendar()

返回<type 'tuple'>: (2019, 15, 4) 意思是2019年的第15周周四

然后处理对应的年周和周几

year_str = date_week_info[0] -1  //取去年的年份

week_str = date_week_info[1] -1 //取相应的周, 因为日历返回的是下标从1开始,而datetime模块内从0开始,所以需要减1

weekday_str = date_week_info[2] %7 //日历中周-到周日是1-7,datetime模块中是0-6,所以进行取余处理。

最后,

date_info_new = time.strptime("%s-%s-%s" % (year_str, week_str, weekday_str),"%Y-%U-%w")

date_info_new_str = time.strftime("%Y-%m-%d", date_info_new)

这样就完成了转换。

完整代码

date_week_info = datetime.datetime.strptime("2019-04-11", "%Y-%m-%d").isocalendar()
year_str = date_week_info[0] -1
week_str = date_week_info[1] -1
weekday_str = date_week_info[2] %7
date_info_new = time.strptime("%s-%s-%s" % (year_str, week_str, weekday_str),"%Y-%U-%w")
last_year_date.append(time.strftime("%Y-%m-%d", date_info_new))

总结

以上所述是小编给大家介绍的Python根据当前日期取去年同星期日期,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
python高阶爬虫实战分析
Jul 29 Python
如何实现Django Rest framework版本控制
Jul 25 Python
Python如何计算语句执行时间
Nov 22 Python
详解python 中in 的 用法
Dec 12 Python
Python assert关键字原理及实例解析
Dec 13 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Python实现的微信支付方式总结【三种方式】
Apr 13 #Python
Python实现合并excel表格的方法分析
Apr 13 #Python
Python Image模块基本图像处理操作小结
Apr 13 #Python
python使用pymongo操作mongo的完整步骤
Apr 13 #Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 #Python
python mac下安装虚拟环境的图文教程
Apr 12 #Python
python中的print()输出
Apr 12 #Python
You might like
上海无线电三厂简史修改版
2021/03/01 无线电
symfony表单与页面实现技巧
2015/01/26 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
原生JS实现烟花效果
2020/03/10 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python OS模块常用函数说明
2015/05/23 Python
python中defaultdict的用法详解
2017/06/07 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
python中count函数知识点浅析
2020/12/17 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
医科学校毕业生自荐信
2013/11/09 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
安全宣传标语口号
2014/06/06 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
运动员加油词
2015/07/18 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
Java数组详细介绍及相关工具类
2022/04/14 Java/Android
Redis主从复制操作和配置详情
2022/09/23 Redis