How to calculate next Friday?

A certain improvement on @taymon`s answer:

today = datetime.date.today()
friday = today + datetime.timedelta( (4-today.weekday()) % 7 )

4 is Friday’s weekday (0 based, counting from Monday).
( (4-today.weekday()) % 7) is the number of days till next friday (% is always non-negative).

After seeing @ubuntu’s answer, I should add two things:
1. I’m not sure if Friday=4 is universally true. Some people start their week on Sunday.
2. On Friday, this code returns the same day. To get the next, use (3-today.weekday())%7+1. Just the old x%n to ((x-1)%n)+1 conversion.

Leave a Comment