设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1819|回复: 3
打印 上一主题 下一主题

[模块/函数] 周日期起止时间函数

[复制链接]
跳转到指定楼层
1#
发表于 2015-7-4 09:32:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给某企业做周薪核算管理系统,需用到周日期起止时间,特做了一个“周日期起止时间函数”,在此分享。

'获取每周起始日期(周日期天数约定:每年第一天为第一周,每周第一天为星期一,
'每年除第一周和最后一周可以不为七天外,其余各周每周均为七天)
'用法示例:周日期(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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-7-4 10:11:24 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2015-7-6 16:06:08 | 只看该作者
看看
回复

使用道具 举报

4#
发表于 2015-7-7 15:11:14 | 只看该作者
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 09:28 , Processed in 0.201967 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表