Top > 気まぐれ日記 > 2003-03-22

休日判断

昨日の休日の判断方法を考え中です。
とりあえず、休日ファイルを作ってそれを検索する方法でいこうかと。<手抜き
計算で求めることもできますが、法改正する度にメンテナンスするのも...<言い訳
休日ファイルをメンテナンスするのとどっちが簡単だろう...

関数にするとこんな感じです。エラー処理は手抜き<ぉぃ

' 休日の判定(0:平日,1:土曜,2:休日)
Function GetHoliday(ByVal dtmDate)
    Dim objFSO, objTextFile
    Dim strHolidays, strDate
    Dim lngHoliday

    lngHoliday = 0
    strHolidays = ""
    strDate = Right("000" & Year(dtmDate), 4) _
            & Right("0" & Month(dtmDate), 2) _
            & Right("0" & Day(dtmDate), 2)
    '' ファイル読込
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
        Set objTextFile = objFSO.OpenTextFile(Server.MapPath("holiday.txt"), 1, False, 0)
        If Err.Number = 0 Then strHolidays = objTextFile.ReadAll()
        objTextFile.Close
    On Error GoTo 0
    Set objTextFile = Nothing
    Set objFSO = Nothing
    If InStr(strHolidays, strDate) > 0 Then
        lngHoliday = 2
    Else
        Select Case Weekday(dtmDate)
            Case 1: lngHoliday = 2
            Case 7: lngHoliday = 1
        End Select
    End If
    GetHoliday = lngHoliday
End Function

と、ここまで作った時点で、寝てしまいました。