Python で、指定した月の月末の日付を date オブジェクトで取得する必要があって、実装してみたのでメモしておきます。
from datetime import date from calendar import monthrange def get_last_date(year, month): # monthrange は月の1日の曜日と日数を返してくれる # 日数を date に渡せば月末の日付のできあがり youbi, day = monthrange(year, month) last = date(year, month, day) return last first = date(2010, 12, 1) # 月初は 1 を渡せばいい last = get_last_date(2010, 12) print(first) #=> 2010-12-01 print(last) #=> 2010-12-31
ちなみに C# だったらもっと楽に書けるのに。
// 翌月の1日の前日は、今月の月末 var last = new DatTime(2010, 12, 1).AddMonths(1).AddDays(-1);
月末の日付が必要になるケースって結構あるから、標準ライブラリにユーティリティ関数として用意して欲しいところです。月単位や年単位で日付を操作するための関数も。
私が見落としているだけで、もしかしてあったりする?