|
给某企业做周薪核算管理系统,需用到周日期起止时间,特做了一个“周日期起止时间函数”,在此分享。
'获取每周起始日期(周日期天数约定:每年第一天为第一周,每周第一天为星期一,
'每年除第一周和最后一周可以不为七天外,其余各周每周均为七天)
'用法示例:周日期(2015,27),返回2015年第27周起止日期:2015/6/29~2015/7/5
Function 周日期(yyyy0 As Integer, ww0 As Integer) As String
Dim RQ1 As Date, RQ2 As Date, RQ3 As Date
Dim ww1 As Integer
RQ1 = CDate(yyyy0 & "-1-1") '某年的第一天日期
RQ2 = DateAdd("d", 7 - Weekday(RQ1, vbMonday), RQ1) '某年的第一周末日期
RQ3 = CDate(yyyy0 & "-12-31") '某年的最后一天日期
ww1 = DatePart("ww", RQ3, vbMonday, vbFirstJan1) '某年的最后一周
If ww0 > ww1 Or ww0 < 1 Then
MsgBox "输入的周数超出了" & yyyy0 & "年的周数范围:1~" & ww1, vbOKOnly + vbCritical, "输入数据出错"
周日期 = "输入周数有误"
ElseIf ww0 = 1 Then '某年的第一周日期
周日期 = RQ1 & "~" & RQ2
ElseIf ww0 = ww1 Then '某年的最后一周日期
周日期 = DateAdd("d", (ww0 - 2) * 7 + 1, RQ2) & "~" & RQ3
Else
周日期 = DateAdd("d", (ww0 - 2) * 7 + 1, RQ2) & "~" & DateAdd("d", (ww0 - 1) * 7, RQ2)
End If
End Function
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|