2011年1月12日水曜日

(C#, VB.NET)月末日の取得

 月末日の取得方法です。

C#
    DateTime d1 = DateTime.Today;
    DateTime d2 = new DateTime(d1.Year, d1.Month, DateTime.DaysInMonth(d1.Year, d1.Month));

VB.NET
    Dim d1 As DateTime = DateTime.Today
    Dim d2 As DateTime = New DateTime(d1.Year, d1.Month, DateTime.DaysInMonth(d1.Year, d1.Month))
サンプルの内容は
  1. d1 に今日の日付を取得
  2. d2 に末日の日付を格納
です。

ポイントは DateTime.DaysInMonth で年と月を指定すると、指定された月の日数を返してくれます。
うるう年の時は 2月の日数をちゃんと 29 で返してくれます。

■環境
OS:Microsoft Windows XP Home Edition 日本語 ServicePack 3
IDE:Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1
Framework:Microsoft .NET Framework Version 2.0 SP2