-- 作者:西瓜住持
-- 发布时间:2012/9/6 12:42:00
-- [求助]还是那个计算出勤天数的问题,狐神帮助一下
是否可以做成类似这样的函数呢?计算出每月的出勤天数
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)
|