我经常被 Python 中关于日期的事情绊倒。在我的 web 应用程序中,我想显示一个日历三周的每一天:上周、当前周和下周,星期一表示一周的开始。
我目前处理这个问题的方法是退回日期,直到我到达星期一,然后再减去 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)]
Run Code Online (Sandbox Code Playgroud)