2013-10-30 12 views
6

現在、現在の週は月曜日から始まり日曜日に終わりますが、前週は月曜日から日曜日まではどうすればいいですか?ここで私は、現在の週のために今持っているものです。先週のPythonの入手方法を教えてください。

>>> 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 
+0

同じことをしますが、さらに7日間戻りますか? –

+1

[[先週、今週と来週の日付の配列を作成する]の可能な複製(http://stackoverflow.com/questions/17611774/build-array-of-dates-in-last-week-this-week-そして次の週) –

答えて

12

ただ、追加の週引くためにあなたのstart_deltaweeks=1を追加します。

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

だから、今日(2013年10月30日(水曜日))のために、 start_deltaは9日(2013年10月21日月曜日まで)になります。

>>> start_delta 
datetime.timedelta(9) 
>>> start_of_week = today - start_delta 
>>> start_of_week 
datetime.date(2013, 10, 21) 
関連する問題