IsSportsDay(日付)

指定項目 内 容
 日付  判定する日付を指定します。

戻り値 内 容
真(true)  スポーツの日(体育の日)
偽(False)  スポーツの日(体育の日)でない。

実施年 月日
 1966〜1999  10月10日
 2000〜  10月の第2月曜日
 2020  7月24日
 2021  7月23日

※呼称 〜2019年 「体育の日」 / 2020年〜 「スポーツの日」

        Dim w As New ChoiKits.Day

        Dim W_Day As Date

        W_Day = "2020/7/24"

        If w.IsSportsDay(W_Day) = True Then
            MsgBox(W_Day & " はスポーツの日です。", , "スポーツの日か否か判定する")
        Else
            MsgBox(W_Day & " はスポーツの日ではありません。", , "スポーツの日か否か判定する")
        End If

        W_Day = "2020/10/12"

        If w.IsSportsDay(W_Day) = True Then
            MsgBox(W_Day & " はスポーツの日です。", , "スポーツの日か否か判定する")
        Else
            MsgBox(W_Day & " はスポーツの日ではありません。", , "スポーツの日か否か判定する")
        End If

        W_Day = "2021/7/23"

        If w.IsSportsDay(W_Day) = True Then
            MsgBox(W_Day & " はスポーツの日です。", , "スポーツの日か否か判定する")
        Else
            MsgBox(W_Day & " はスポーツの日ではありません。", , "スポーツの日か否か判定する")
        End If

        W_Day = "2021/10/11"

        If w.IsSportsDay(W_Day) = True Then
            MsgBox(W_Day & " はスポーツの日です。", , "スポーツの日か否か判定する")
        Else
            MsgBox(W_Day & " はスポーツの日ではありません。", , "スポーツの日か否か判定する")
        End If

        W_Day = "2022/10/10"

        If w.IsSportsDay(W_Day) = True Then
            MsgBox(W_Day & " はスポーツの日です。", , "スポーツの日か否か判定する")
        Else
            MsgBox(W_Day & " はスポーツの日ではありません。", , "スポーツの日か否か判定する")
        End I

      

      

      

      

      

      サンプルプログラムダウンロード

    Public Function IsSportsDay(ByVal wrk_day As Date) As Boolean

        '【スポーツの日(体育の日)】か否かを判定する

        '日付?

        If IsDate(wrk_day) = False Then
            Return False
        End If

        '10月10日(1966〜1999)

        If wrk_day.Year >= 1966 _
            And wrk_day.Year <= 1999 _
            And wrk_day.Month = 10 And wrk_day.Day = 10 Then
            Return True
        End If

        '2020年 の【スポーツの日】は7月24日である

        If wrk_day.Year = 2020 _
            And wrk_day.Month = 7 And wrk_day.Day = 24 Then
            Return True
        End If

        '2020年 の【スポーツの日】は10月12日でない

        If wrk_day.Year = 2020 _
            And wrk_day.Month = 10 And wrk_day.Day = 12 Then
            Return False
        End If

        '2021年 の【スポーツの日】は7月23日である

        If wrk_day.Year = 2021 _
            And wrk_day.Month = 7 And wrk_day.Day = 23 Then
            Return True
        End If

        '2021年 の【スポーツの日】は10月11日でない

        If wrk_day.Year = 2021 _
            And wrk_day.Month = 10 And wrk_day.Day = 11 Then
            Return False
        End If

        '10月の第2月曜日(2000〜)

        If wrk_day.Year >= 2000 _
            And wrk_day.Month = 10 Then

            Dim dt As Date
            dt = DateSerial(wrk_day.Year, wrk_day.Month, 1)
            If wrk_day = DateSerial(wrk_day.Year, wrk_day.Month, ((9 - (CInt(dt.DayOfWeek) + 1)) Mod 7) + 8) Then
                Return True
            End If
        End If

        Return False

    End Function

 ChoiKits  
 Microsoft  
 ステートメント  
 オブジェクト  
 メソッド  
 プロパティ