import datetime # 直前の水曜日の日付を取得 week = [-5, -6, 0, -1, -2, -3, -4] today = datetime.date.today() weekday = today.weekday() reduce_days = week[weekday] date = today + datetime.timedelta(reduce_days) date = datetime.datetime.strftime(date, '%Y-%m-%d')
weekday() で曜日を取得(月曜日が0で、日曜日が6)して、配列に当てて目的の曜日まで日数を引いています。
上のコードであれば直前の水曜日の日付を取得します。実行が水曜日であれば当日になります。
水曜日に実行した際にひとつ前の水曜日を取得したければ次のようになります。
week = [-5, -6, -7, -1, -2, -3, -4]
違う曜日を取得するには配列の数字をずらします。例えば、月曜日を取得したい場合は次のようになります(実行が月曜日なら当日)。
week = [0, -1, -2, -3, -4, -5, -6]
曜日で何かやる場合、ここからの変形でいろいろ作れそうです。
ブログに書いておくと後から探しやすいし、(少なくとも自分にとっては)読解しやすいのでいいですね。
Python実践入門 ── 言語の力を引き出し、開発効率を高める WEB+DB PRESS plus
by SimpleImageLink
プロフェッショナルPython ソフトウェアデザインの原則と実践 impress top gearシリーズ
by SimpleImageLink
***
ハウスのビニールを張り替えてからだいぶ経つので、ところどころダメージが目立ちはじめました。ごまかしごまかしあと数年使えればと思っていますが……果たして。