実行日の週の初日、末日を取得する
ASP.NET MVC 2 - My My MVC Applicationの実装ポイント(3) で公開した
実行日の週の初日、末日を取得するプログラムの実装です。
もっと頭のいいやり方も有りそうな気もするが、
とりあえず備忘録として載せておきます。
int dayOfWeek = Int32.Parse(DateTime.Today.DayOfWeek.ToString("d"));
DateTime firstDateOfWeek = DateTime.Today.AddDays(-1 * dayOfWeek);
DateTime lastDateOfWeek = DateTime.Today.AddDays(6 - dayOfWeek);
.Netでは曜日をint型で扱い、日曜を0、土曜を6とするようです。
つまり実行日が日曜から何日後からを取得できます。
また土曜は何日後かを取得するには、6(土曜)から引くことで取得できます。
これを利用し、実行日が日曜からN日たっている場合
・実行日の週の初日(日曜) = 実行日 - N日
・実行日の週の末日(土曜) = 実行日 + (6 - N日)
の計算を行っています。
どっかのライブラリや、.Netのメソッドが
週の初日、末日を取得する処理を提供してくれないかな・・・。
単に検索できてないだけかも。。。