python – 在上周,本周和下周构建日期数组
发布时间:2020-12-20 11:28:17 所属栏目:Python 来源:网络整理
导读:我经常在 Python中关注日期.在我的网络应用程序中,我希望每天显示三个星期的日历:上周,当前周和下一周,星期一表示一周的开始. 我目前接近这个的方式是逐步回顾日期,直到我击中星期一,然后再减去7天然后加20来建立三周的范围……但这感觉真的很笨重. Python
我经常在
Python中关注日期.在我的网络应用程序中,我希望每天显示三个星期的日历:上周,当前周和下一周,星期一表示一周的开始.
我目前接近这个的方式是逐步回顾日期,直到我击中星期一,然后再减去7天然后加20来建立三周的范围……但这感觉真的很笨重. Python有几个星期的概念,还是我必须手动躲避它几天? 编辑:现在我把它编码出来,它并不太可怕,但我确实想知道是否有一些稍微好一点的东西,再次用几周而不是几天的概念. today = datetime.date.today() last_monday = today - datetime.timedelta(days=today.weekday()) - datetime.timedelta(days=7) dates = [last_monday + datetime.timedelta(days=i) for i in range(0,21)] 解决方法
不,这就是它.但基于
datetime.date.weekday() 结果的列表理解应该很容易:
today = datetime.date(2013,06,26) dates = [today + datetime.timedelta(days=i) for i in range(-7 - today.weekday(),14 - today.weekday())] 请记住,范围不必从0开始.:-) 演示: >>> import datetime >>> from pprint import pprint >>> today = datetime.date(2013,07,12) >>> pprint([today + datetime.timedelta(days=i) for i in range(-7 - today.weekday(),14 - today.weekday())]) [datetime.date(2013,7,1),datetime.date(2013,2),3),4),5),6),7),8),9),10),11),12),13),14),15),16),17),18),19),20),21)] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |