我希望得到一周开始的日期,给定一个日历周:
>>> calendarweek_to_date(2017, 52, 1)
datetime.date(2017, 12, 25)
目前我通过使用isocalendar()[2]
找到工作日,然后创建工作日,然后用适当的天数减去timedelta。
weekday = date_object.isocalendar()[2] # Monday := 1 .. Sunday := 7
weekday -= 1 # Monday := 0 .. Sunday := 6
offset = timedelta(days=weekday)
last_monday = date_object - offset
然而,我对目前的解决方案感到震惊,并相信必须是更好的方式。