Я немного изменил сценарий Вайдаса К., чтобы он возвращал начало недели и день конца недели.
from datetime import datetime, date, timedelta
def weekbegend(year, week):
"""
Calcul du premier et du dernier jour de la semaine ISO
"""
d = date(year, 1, 1)
delta_days = d.isoweekday() - 1
delta_weeks = week
if year == d.isocalendar()[0]:
delta_weeks -= 1
# delta for the beginning of the week
delta = timedelta(days=-delta_days, weeks=delta_weeks)
weekbeg = d + delta
# delta2 for the end of the week
delta2 = timedelta(days=6-delta_days, weeks=delta_weeks)
weekend = d + delta2
return weekbeg, weekend
Так что вы можете использовать его таким образом.
weekbeg, weekend = weekbegend(2009, 1)
begweek = weekbeg.strftime("%A %d %B %Y")
endweek = weekend.strftime("%A %d %B %Y")