统计某个日期区间内星期天的个数

时间:2008-10-07 12:04:59  来源:第二电脑网上收集  作者:

  第二电脑网导读:请与作者交流 Function SundayCount(StartDate As Date, EndDate As Date) As Long    On Error GoTo Err_SundayCount:    Dim Days As Integer    '区间天数    Dim FirstSunday As Date    '第一个周日具体日期    Dim NextSu...
  正文:
文章正文:
'功能:算出某个日期区间内星期天的个数
'作者:竹笛
'修改历史:2005/12/30
'未经严格测试,有问题请与作者交流

Function SundayCount(StartDate As Date, EndDate As Date) As Long
    On Error GoTo Err_SundayCount:
    Dim Days As Integer    '区间天数
    Dim FirstSunday As Date    '第一个周日具体日期
    Dim NextSunday As Date    '下一个周日具体日期
    Dim Myweekday As Integer
    Dim i As Long
    Dim j As Long
    '确保日期都不为空,若为空则置为0
    If Not IsNull(StartDate) And Not IsNull(EndDate) Then
    '如果结束日期<开始日期,则为0
        If EndDate >= StartDate Then
            '如果天数大于7,则先确定第一个周日是哪个日期,再7天一加,直到大于结束日期
            Days = EndDate - StartDate
            ' If Days > 7 Then
            Myweekday = Weekday(StartDate)    '算出是周几,星期天是1
            If Myweekday > 1 Then
                FirstSunday = StartDate + 8 - Myweekday
            Else
                FirstSunday = StartDate
            End If
            Debug.Print "最近的周日是: " & FirstSunday
            NextSunday = FirstSunday + 7
            i = 1
            SundayCount = 1
            For i = 1 To Days Step 7
                Debug.Print "下一个周日是: " & NextSunday
                If NextSunday > EndDate Then
                    If FirstSunday > EndDate Then
                        SundayCount = SundayCount - 1
                    End If
                    Debug.Print "周日数目是: " & SundayCount
                    Exit Function
                End If
                NextSunday = NextSunday + 7
                i = i + 1
                SundayCount = SundayCount + 1
                Debug.Print "周日数目是: " & SundayCount
            Next
        Else
            SundayCount = 0
        End If
    Else
        SundayCount = 0
    End If
Exit_SundayCount:
    Exit Function
Err_SundayCount:
    SundayCount = 0
    Resume Exit_SundayCount
End Function

Sub Test()
Debug.Print SundayCount(#2/6/2005#, #2/25/2005#)
End Sub 《统计某个日期区间内星期天的个数》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/ASP/2008-10-07/2954.html


关键字:

关于《统计某个日期区间内星期天的个数》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td