在VB中,我可以使用什么编码来计算每月的第5个工作日?如果第五天是放假一天。

最佳答案

您需要与之比较的假期日期列表。您将需要分别构建和存储该列表。您没有说过VB的哪个变体(VBA?VB.NET?),但是在VB.NET中,您可以执行以下操作:

Dim datevalue As DateTime = New DateTime(DateTime.Year, DateTime.Month, 1)
Dim dayIsFound As Boolean = False
Dim workDays As Integer

workDays = 1
While Not dayIsFound
    If ( dateValue.DayOfWeek <> DayOfWeek.Saturday _
        And dateValue.DayOfWeek <> DayOfWeek.Sunday _
        And Not HolidayList.Contains( dateValue )  _

        workDays = workDays + 1
    End If

    If  index >= 5 Then
        dayIsFound = True
    Else
        dateValue = dateValue.AddDays(1)
    End If
End While


从技术上讲,可以构建一种算法来根据联邦准则(在美国)确定主要假期,但是它很复杂并且可能与您要为其建立此组件的公司的假期不符。

08-20 00:25