Find the Friday of previous/last week in python

后端 未结 5 1844
闹比i
闹比i 2020-12-25 08:01

Eg1. Suppose I have a day 4/30/07 .Then I need to get 4/27/07.

Eg2. Suppose I have a day 6/29/07 .Then I need to get 6/22/07.

5条回答
  •  失恋的感觉
    2020-12-25 08:45

    Assuming day is a datetime.date or datetime.datetime object, this code creates a datetime/date object for last week's friday:

    friday = day - timedelta(days=day.weekday()) + timedelta(days=4, weeks=-1)
    

    Explanation: timedelta(days=day.weekday()) is the offset between monday and day so adding 4 days and subtracting one week will get you last week's friday.

    Of course you can simplify this (+4d -1w = -3d):

    friday = day - timedelta(days=day.weekday() + 3)
    

    Note: To get timedelta, use from datetime import timedelta or just import datetime and use datetime.timedelta

提交回复
热议问题