如何获取上周的周一和周日

How to get Monday and Sunday of last week

如果今天是 2021 年 11 月 28 日,我想获取上周的星期一和星期日,例如:

Monday: 2021-11-15
Sunday: 2021-11-21

我这样试过:

today = datetime.date.today()
idx = (today.weekday() + 1) % 7
self.monday = (today - datetime.timedelta(7 + idx - 1)).strftime('%Y-%m-%d')
self.sunday = (today - datetime.timedelta(7 + idx - 7)).strftime('%Y-%m-%d')

但是输出是这样的,这是错误的:

Monday: 2021-11-22
Sunday: 2021-11-28  

如果今天的日期是2021年11月29日是正确的。

我怎样才能做到这一点?

取今天的日期减去 1 周加上今天的工作日'number':

today = datetime.date.today()
today - datetime.timedelta(days=today.weekday(), weeks=1)

之前的星期天,使用days=today.weekday() + 1