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):
dlt = timedelta(days = (week - 1) * 7)
d = date(year, 1, 1)
return d + dlt, d + dlt + timedelta(days=6)
But with this function I assume that first week of the year starts with Monday.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With