首页 > 学院 > 开发设计 > 正文

VisualBasic实现某一天的下/上一个星期几是那一天

2019-11-18 17:31:37
字体:
来源:转载
供稿:网友
参数:您相信吗?这个模组的写法比用任何其他的方法快几十倍!参数如下:
1:以那一天为基准日?
2:(Optional)要找的是星期几?若不指定,预设值为星期六
3:(Optional)要往前(过去)找或往后(未来)找?
若不指定,预设值为往后(未来)找


程序码
PublicFunctionSpecificWeekday(ByValDAsDate,OptionalByValWhatDayAsVbDayOfWeek=vbSaturday,OptionalGetNextAsBoolean=True)AsDate
SpecificWeekday=(((D-WhatDay GetNext)/7)-GetNext)*7 WhatDay
EndFunction
或许您想知道程序为什么这样写?

您知道吗?在VB中,其所有日期函数的基准日(第0天)是1899年12月30日(星期六),第一天就是1899年12月31日(星期日),所以VB的WeekDay函数算法其实就是(Date-1)Mod7 1。

返回值
日期

实例:
我想知道以下日子各是那一天?
上个星期一:SpecificWeekday(Now,vbMonday,False)
下个星期六:SpecificWeekday(Now)
2000年9月9日的下一个星期五:SpecificWeekday("09/09/2000",vbFriday)->


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表