26

現在、月曜日から日曜日までの現在の週を取得していますが、月曜日から日曜日までの前の週を取得するにはどうすればよいですか? 今週の私が今持っているものは次のとおりです。

>>> import datetime
>>> today = datetime.date.today()
>>> weekday = today.weekday()
>>> start_delta = datetime.timedelta(days=weekday)
>>> start_of_week = today - start_delta
>>> week_dates = []
>>> for day in range(7):
...     week_dates.append(start_of_week + datetime.timedelta(days=day))
...
>>> week_dates
[datetime.date(2013, 10, 28), datetime.date(2013, 10, 29), datetime.date(2013, 10, 30),     datetime.date(2013, 10, 31), datetime.date(2013, 11, 1), datetime.date(2013, 11, 2), datetime.date(2013, 11, 3)]
>>> week_dates[0], week_dates[-1]
(datetime.date(2013, 10, 28), datetime.date(2013, 11, 3)) <--- Monday, Sunday
4

1 に答える 1

41

追加の週を差し引くには、weeks=1あなたに追加するだけです:start_delta

>>> start_delta = datetime.timedelta(days=weekday, weeks=1)

したがって、今日 (2013 年 10 月 30 日水曜日) はstart_delta9 日 (2013 年 10 月 21 日月曜日) になります。

>>> start_delta
datetime.timedelta(9)
>>> start_of_week = today - start_delta
>>> start_of_week
datetime.date(2013, 10, 21)
于 2013-10-30T15:25:58.770 に答える