3

Pythonで週の日付を計算する必要があります

私はこれを必要とする

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

>>>2012-04-06
>>>2012-06-10

私たちを手伝ってくれますか ?

4

4 に答える 4

13

日付オブジェクトには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)
于 2012-06-06T05:27:25.430 に答える
0

彼が探している答えは datetime.isocalendar(datetime) にあると思います。これは、ISO 年、週番号、および曜日を含む 3 タプルを返します。

特定の年 (つまり '2015') から、最初の週の最初の日を決定し、そこから timedelta 関数を使用して日を追加し続け、要求された特定の週を見つけることができます。この情報を使用して、その週の最初と最後の日を返すことができます。

于 2015-10-08T03:49:51.053 に答える