月末の日付(末日)を取得する

カテゴリ: VB.NET
投稿日時:2008/12/22 12:35:52
月末の日付(末日)を取得するには以下のようにします。


末日を取得するプロシージャ


''' <summary>
''' 指定年月の末日を取得する
''' </summary>
''' <param name="yearmonth">yyyy/MM</param>
''' <returns></returns>
''' <remarks></remarks>
Private Function GetEndDate(ByVal yearmonth As String) As DateTime

    Dim d As DateTime

    If DateTime.TryParse(yearmonth & "/01", d) Then
        '翌月の1日前を返す
        Return d.AddMonths(1).AddDays(-1)
    Else
        Throw New ArgumentException("yearmonthが不正です。yyyy/MMを指定してください。")
    End If

End Function

''' <summary>
''' 指定日付の月の末日を取得する
''' </summary>
''' <param name="d"></param>
''' <returns></returns>
''' <remarks></remarks>
Private Function GetEndDate(ByVal d As DateTime) As DateTime
    '月初の翌月の1日前を返す
    Return d.AddDays(-(d.Day - 1)).AddMonths(1).AddDays(-1)
End Function

末日を取得する


'年月指定
Me.TextBox1.Text = GetEndDate("2008/12").ToString("yyyy/MM/dd")
'日付指定
Me.TextBox2.Text = GetEndDate(Now).ToString("yyyy/MM/dd")
このエントリーをはてなブックマークに追加

スポンサード リンク