DaysInMonthメソッドを使うとある年ある月の日数を求めることが出来ます。 このメソッドでは、指定された年がうるう年の場合は追加されたうるう日の分も含めた日数を返します。 次の例では2012年の各月ごとの日数を表示しています。

DateTime.DaysInMonthメソッドである年ある月の日数を求める
Imports System

Class Sample
  Shared Sub Main()
    For month As Integer = 1 To 12
      ' 2012年1月〜12月の各月の日数を求める
      Console.WriteLine("2012-{0} : {1} days", month, DateTime.DaysInMonth(2012, month))
    Next
  End Sub
End Class
実行結果
2012-1 : 31 days
2012-2 : 29 days
2012-3 : 31 days
2012-4 : 30 days
2012-5 : 31 days
2012-6 : 30 days
2012-7 : 31 days
2012-8 : 31 days
2012-9 : 30 days
2012-10 : 31 days
2012-11 : 30 days
2012-12 : 31 days

このメソッドを用いることで、月末の日付を求めることも出来ます。 実装例は月末の日付を求めるで紹介しています。