Joe Joe - 1 year ago 53
Python Question

Find Monday's date with Python

How do I find the previous Monday's date, based off of the current date using Python? I thought maybe I could use:

to do it, but I am getting stuck.

I basically want to find today's date and Mondays date to construct a date range query in django using:
created__range=(start_date, end_date)

Answer Source
>>> import datetime
>>> today =
>>> today + datetime.timedelta(days=-today.weekday(), weeks=1), 10, 26)

Some words of explanation:

Take todays date. Subtract the number of days which already passed this week (this gets you 'last' monday). Add one week.

Edit: The above is for 'next monday', but since you were looking for 'last monday' you could use

today - datetime.timedelta(days=today.weekday())
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download