ぽんたのプログラミング勉強部屋(仮)

プログラミングについて色々勉強したことのメモ集です。どこにでも載っているような情報ばかりですw

月末の日付を取得する方法

業務用アプリの開発をしているとよくあるのが、月末や月初の日付でどうのこうのって処理。
月初は必ず1日なのに対し、月末は月によって変わるから困りもの。
月末の取得方法でよくあるのが多分以下の方法。

DateTime dt = new DateTime(2016, 11, 1);
dt = dt.Add(-1)

10月の月末が欲しい場合、"2016/11/01"のDateTimeオブジェクトを作っておいて1日減算する方法。
俺も今まではそうして取得していたんだけど、最近こんな方法もあることを知った。

DateTime dt = new DateTime(2016, 10, DateTime.DaysInMonth(2016, 10));

ポイントはDaysInMonthメソッド。
こいつは指定した年月の末日を返してくれる。
こいつの戻り値をDateTimeオブジェクトを生成する際の引数に渡してやれば、
わざわざ11月1日から1日引いて~なんてやらなくても月末が取得できちゃうってすんぽー。

まぁ、手間はあまり変わらない気がするけどね。

ってか日付だけじゃなく、yyyy/mm/ddで返してくれたらいのにね…。