是否可以做成类似这样的函数呢?计算出每月的出勤天数
GetWorkDays(入职日期,离职日期)
如果入职日期为空,则默认从本月1号开始
如果离职日期为空,则默认计算到当月最后一天,
如果离职日期不为空,则默认计算入职日期到离职日期之间的天数
我觉得这个功能很多地方用到,狐神帮助完善一下
====================================
Dim lw As new List(of Date)
lw.add(#1/21/2012#)
lw.add(#1/29/2012#)
lw.add(#3/31/2012#)
lw.add(#4/1/2012#)
lw.add(#4/28/2012#)
lw.add(#9/29/2012#)
Dim jr As New List(of Date)
jr.add(#1/1/2012#)
jr.add(#1/2/2012#)
jr.add(#1/3/2012#)
jr.add(#2/22/2012#)
jr.add(#2/23/2012#)
jr.add(#2/24/2012#)
jr.add(#2/25/2012#)
jr.add(#2/26/2012#)
jr.add(#2/27/2012#)
jr.add(#2/28/2012#)
jr.add(#4/2/2012#)
jr.add(#4/3/2012#)
jr.add(#4/4/2012#)
jr.add(#4/29/2012#)
jr.add(#4/30/2012#)
jr.add(#5/1/2012#)
jr.add(#6/22/2012#)
jr.add(#6/23/2012#)
jr.add(#6/24/2012#)
jr.add(#9/30/2012#)
jr.add(#10/1/2012#)
jr.add(#10/2/2012#)
jr.add(#10/3/2012#)
jr.add(#10/4/2012#)
jr.add(#10/5/2012#)
jr.add(#10/6/2012#)
jr.add(#10/7/2012#)
Dim m As Integer = 10
Dim cnt As Integer
For i As Integer = 1 To Date.DaysInMonth(2012,m)
Dim dt As new Date(2012,m,i)
If jr.Contains(dt) Then
ElseIf lw.Contains(dt) Then
cnt = cnt +1
ElseIf dt.DayOfWeek= 0 OrElse dt.DayOfWeek = 6 Then
Else
cnt = cnt +1
End If
Next
messagebox.show(cnt)