Get start date and end date of the week, given week number and year

后端 未结 2 1913
遥遥无期
遥遥无期 2020-12-19 09:54

How do I get the start date and end date of the week, given week number and year in python?

I\'ve tried this:

def get_start_end_dates(year, week):

          


        
相关标签:
2条回答
  • 2020-12-19 10:21

    I have fixed your function:

    def get_start_end_dates(year, week):
         d = date(year,1,1)
         if(d.weekday()<= 3):
             d = d - timedelta(d.weekday())             
         else:
             d = d + timedelta(7-d.weekday())
         dlt = timedelta(days = (week-1)*7)
         return d + dlt,  d + dlt + timedelta(days=6)
    

    It gets the correct start and end day of the week in given year.

    It also assumes that years with first day of the year on Friday, Saturday or Sunday have 1 week on next week. See here: http://en.wikipedia.org/wiki/Week

    0 讨论(0)
  • 2020-12-19 10:36
    import datetime
    import time
    
     def getDateRangeFromWeek(p_year,p_week):
    
        firstdayofweek = datetime.datetime.strptime(f'{p_year}-W{int(p_week )- 1}-1', "%Y-W%W-%w").date()
        lastdayofweek = firstdayofweek + datetime.timedelta(days=6.9)
        return firstdayofweek, lastdayofweek
    
    
    #Call function to get dates range 
    firstdate, lastdate =  getDateRangeFromWeek('2019','2')
    
    print('print function ',firstdate,' ', lastdate)
    
    0 讨论(0)
提交回复
热议问题