楼上求的是总天数,不是周六周日天数。
这个才对:
Dim d1 As Date = #3/17/2002 12:30#
Dim d2 As Date = #1/1/2008 18:30#
Dim t As TimeSpan = d2 - d1
Dim cnt As Integer
For i As Integer = 0 To t.TotalDays
Dim d As Date = d1.AddDays(i)
If d.DayOfWeek = 6 OrElse d.DayOfWeek = 0 Then
cnt = cnt + 1
End If
Next
Messagebox.show("节假日数:" & cnt)