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

时间:2015-06-04 23:40:46

标签: 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)

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

2 个答案:

答案 0 :(得分:2)

我修复了你的功能:

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

答案 1 :(得分:-1)

com.example