python – 获取一周的开始日期和结束日期,给定周数和年份

如何获得一周的开始日期和结束日期,给出
python中的周数和年份?

我试过这个:

def get_start_end_dates(year, week):

     dlt = timedelta(days = (week - 1) * 7)
     d = date(year, 1, 1)
     return d + dlt, d + dlt + timedelta(days=6)

但是通过这个功能,我假设一年的第一周从星期一开始.

最佳答案 我修复了你的功能:

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)

它在给定年份获得正确的开始和结束日期.

它还假设在周五,周六或周日的一年中的第一天有下周的1周.见:http://en.wikipedia.org/wiki/Week

点赞