趣味は車輪の再発明♪

月末日付を取得する - [ 日付・時刻・時間 / C# ]


「小さな小さなサンプル&スニペット」
▲インデックスへ戻る▲
カテゴリ:「日付・時刻・時間」

月末の日付を取得するコードです。月初は必ず1日なので問題ありませんが、月末の日付は月によってバラバラです。また、うるう年の2月なども少しヤヤコシイです。でも、基本的には「次月の1日の前日」という考え方で計算できます。また、言語によっては、直接、月末日付を取得できるものもあるようです。

/**
 * 2013年12月の最終日を取得する。
 * (月は1月~12月を0~11で指定します)
 */
DateTime dt = new DateTime(2013, 12, 1);
dt = dt.AddMonths(1).AddDays(-1.0);

/**
 * 与えられた日付の月末日付を返す関数。
 * @param dt 元の日付
 */
DateTime getLastDayOfMonth(DateTime dt) {
    dt = dt.AddMonths(1);
    dt = new DateTime(dt.Year, dt.Month, 1);
    dt = dt.AddDays(-1.0);
    return dt;
}		

C#ではDateTimeのコンストラクタが範囲外の値を受け付けません、次月の1日をまず生成して、1日を引くという操作が必要です。

カテゴリ「日付・時刻・時間」の他のエントリ:
| 前後の日付を計算する |



RSS Feed Widget
月末日付を取得する - [ 日付・時刻・時間 / C# ]
(http://bicycle.life.coocan.jp/takamints/index.php/snippets/snippet/datetime/lastdayofmonth/cs)
by Koji Takami ( email: vzg03566@gmail.com, GitHub: takamin )