VisualBasic实现某一天的下/上一个星期几是那一天 |
|
www.nanhushi.com 佚名 不详 |
参数 : 您相信吗?这个模组的写法比用任何其他的方法快几十倍!参数如下: 1:以那一天为基准日? 2:(Optional) 要找的是星期几?若不指定,预设值为星期六 3:(Optional) 要往前 (过去) 找或往后 (未来) 找? 若不指定,预设值为往后 (未来) 找
程序码 Public Function SpecificWeekday(ByVal D As Date, Optional ByVal WhatDay As VbDayOfWeek = vbSaturday, Optional GetNext As Boolean = True) As Date SpecificWeekday = (((D - WhatDay + GetNext) \ 7) - GetNext) * 7 + WhatDay End Function 或许您想知道程序为什么这样写?
您知道吗?在 VB 中,其所有日期函数的基准日 (第0天) 是 1899年12月30日 (星期六),第一天就是 1899年12月31日 (星期日),所以 VB 的 WeekDay 函数算法其实就是 (Date - 1) Mod 7 + 1。
返回值 日期
实例 : 我想知道以下日子各是那一天? 上个星期一:SpecificWeekday(Now, vbMonday, False) 下个星期六:SpecificWeekday(Now) 2000年9月9日的下一个星期五:SpecificWeekday("09/09/2000", vbFriday)
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: SetFormName=Nothing 下一篇文章: Boolean值的转换 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|