Pythonで週の日付を計算する必要があります
私はこれを必要とする
year = 2012
week = 23
(a,b) = func (year,week)
print a
print b
>>>2012-04-06
>>>2012-06-10
私たちを手伝ってくれますか ?
日付オブジェクトにはweekday()
メソッドが含まれています。
これにより、月曜日の場合は0が返され、日曜日の場合は6が返されます。
(グーグルから)ここに1つの解決策があります: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)
彼が探している答えは datetime.isocalendar(datetime) にあると思います。これは、ISO 年、週番号、および曜日を含む 3 タプルを返します。
特定の年 (つまり '2015') から、最初の週の最初の日を決定し、そこから timedelta 関数を使用して日を追加し続け、要求された特定の週を見つけることができます。この情報を使用して、その週の最初と最後の日を返すことができます。