周日期起止时间函数-a63521557
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


周日期起止时间函数

发表时间:2015/7/4 9:37:23 评论(0) 浏览(8400)  评论 | 加入收藏 | 复制
   
摘 要:获取每周起始日期(周日期天数约定:每年第一天为第一周,每周第一天为星期一,每年除第一周和最后一周可以不为七天外,其余各周每周均为七天)
用法示例:周日期(2015,27)
返回2015年第27周起止日期:2015/6/29~2015/7/5
正 文:
'获取每周起始日期(周日期天数约定:每年第一天为第一周,每周第一天为星期一,
'每年除第一周和最后一周可以不为七天外,其余各周每周均为七天)
'用法示例:周日期(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


Access软件网交流QQ群(群号:198465573)
 
 相关文章
日期起止值全方位计算  【沈军  2009/3/1】
【access源码示例】测算星期周数的初始日期与末尾日期\判断第几...  【红尘如烟  2011/11/12】
窗体上输入单据起止号批量生成单据号(自动填表)  【网行者  2011/12/14】
本年年初与年末日期\当年的第一天与最后一天\本年本月第一天与本月最...  【红尘如烟  2012/4/5】
【Access源码示例】日期区间段查询示例,日期时间段查询示例,开...  【麥田  2013/3/13】
【Access源码示例】按月份的日期区间段查询示例,开始月份至截止...  【麥田  2013/3/14】
利用红尘如烟老师《高效无重复自动编码解决方案》如何实现按日期重新开...  【cspa  2013/7/11】
常见问答
技术分类
相关资源
文章搜索
关于作者

a63521557

文章分类

文章存档

友情链接