How can I get the previous week in Python?

Currently, I get the current week, starting from Monday and ending on Sunday, but how can I get the previous week, starting from Monday and ending on Sunday? Here is what I have this week:

>>> import datetime >>> today = datetime.date.today() >>> weekday = today.weekday() >>> start_delta = datetime.timedelta(days=weekday) >>> start_of_week = today - start_delta >>> week_dates = [] >>> for day in range(7): ... week_dates.append(start_of_week + datetime.timedelta(days=day)) ... >>> week_dates [datetime.date(2013, 10, 28), datetime.date(2013, 10, 29), datetime.date(2013, 10, 30), datetime.date(2013, 10, 31), datetime.date(2013, 11, 1), datetime.date(2013, 11, 2), datetime.date(2013, 11, 3)] >>> week_dates[0], week_dates[-1] (datetime.date(2013, 10, 28), datetime.date(2013, 11, 3)) <--- Monday, Sunday 
+6
source share
1 answer

Just add weeks=1 to your start_delta to subtract the extra week:

 >>> start_delta = datetime.timedelta(days=weekday, weeks=1) 

So, today (Wednesday, October 30, 2013), start_delta will be 9 days (until the last Monday, October 21, 2013).

 >>> start_delta datetime.timedelta(9) >>> start_of_week = today - start_delta >>> start_of_week datetime.date(2013, 10, 21) 
+12
source

Source: https://habr.com/ru/post/957046/


All Articles