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