如何在python中计算星期的第一个星期和最后一个星期

Jon*_*ner 3 python datetime

我需要在python中计算一周的日期

我需要这个

year = 2012
week = 23
(a,b) = func (year,week)
print a
print b

>>>2012-04-06
>>>2012-06-10
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗 ?

Ant*_*ile 12

date对象包含一个weekday()方法.

对于周日,星期一6返回0.

(来自谷歌搜索)这里是一个解决方案:http://www.protocolostomy.com/2010/07/06/python-date-manipulation/)

我认为这可以做得不那么冗长,所以这是我的抨击:

def week_magic(day):
    day_of_week = day.weekday()

    to_beginning_of_week = datetime.timedelta(days=day_of_week)
    beginning_of_week = day - to_beginning_of_week

    to_end_of_week = datetime.timedelta(days=6 - day_of_week)
    end_of_week = day + to_end_of_week

    return (beginning_of_week, end_of_week)
Run Code Online (Sandbox Code Playgroud)


Lin*_*sio 5

很少过时的答案,但有一个很好的模块叫做isoweek,真的可以完成这个诀窍.要回答原始问题,您可以执行以下操作:

from isoweek import Week    

week = Week(2012, 23)
print(week.monday())
print(week.sunday())
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助任何人.