设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 根据某年某月第几个星期几返回当日日期的函数

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-19 23:03:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. Function WeekDayStrToSolarDate(DateStr As String) As Date
  2. '根据某年某月的第几周的星期几字符串返回当日日期
  3. '如:WeekDayStrToSolarDate("20090621")返回2009年6月第二个星期日的日期06/14/2009
  4. '如果第7位是5的话,返回此月最后一个

  5. Dim Y As Integer, M As Byte, N As Byte, W As Byte
  6. Dim tempDate As Date, tempW As Integer
  7. Dim AddDay As Integer
  8. Y = Left(DateStr, 4): M = Mid(DateStr, 5, 2): N = Mid(DateStr, 7, 1): W = Mid(DateStr, 8, 1)
  9. If N < 5 Then '第N个
  10. tempDate = DateSerial(Y, M, 1)
  11. tempW = Weekday(tempDate)
  12. AddDay = (N - 1) * 7 + (W - tempW)
  13. If tempW > W Then AddDay = AddDay + 7
  14. WeekDayStrToSolarDate= DateAdd("D", AddDay, tempDate)
  15. Else '最后一个
  16. tempDate = DateSerial(Y, M + 1, 1)
  17. tempW = Weekday(tempDate)
  18. AddDay = W - tempW
  19. If tempW <= W Then AddDay = AddDay - 7
  20. WeekDayStrToSolarDate= DateAdd("D", AddDay, tempDate)
  21. End If

  22. End Function
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-7-20 10:40:22 | 只看该作者
为什么一次发这么多贴?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 12:42 , Processed in 0.104477 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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