用vbs判断一个日期是否在指定的时段内

时间:2022-06-01 22:05:18

问:
您好,脚本专家! 如何判断一个日期是否在指定的时段内?

-- JW

答:
您好,JW。 真是巧啊,今天早上在上班的路上,我们听到有两个不同公司的不同的广告,他们都用“七月中的圣诞节”招揽顾客。 这促使着我们一到办公室就立即回答您的问题。 毕竟,如果这些公司都有一份您正在寻找的脚本,他们可能就会知道七月没有圣诞节。

注意: 当然,我们也可能记错了圣诞节的时间,所以也许您应该给所有的脚本专家送一份礼物,以防万一。


那么我们如何才能知晓圣诞节不在七月呢? 只需运行以下脚本即可:

复制代码 代码如下:


dtmStartDate = #7/1/2005# 
dtmEndDate = #7/31/2005# 
dtmTargetDate = #12/25/2005# 

If dtmTargetDate >= dtmStartDate AND dtmTargetDate <= dtmEndDate Then 
    Wscript.Echo "The target date is within the specified range." 
Else 
    Wscript.Echo "The target date is not within the specified range." 
End If 


正如您所见,我们首先为三个变量分配值。 变量 dtmStartDate 和 dtmEndDate 表示日期范围;在本例中为 2005 年 7 月 1 日到 2005 年 7 月 31 日。变量 dtmTargetDate 是所讨论的日期: 我们想要知道该日期(圣诞节)是否在七月份。

为此,我们需要知道该目标日期是否大于或等于开始日期以及是否小于或等于结束日期。 下面是执行该检验的代码行:

If dtmTargetDate >= dtmStartDate AND dtmTargetDate <= dtmEndDate Then

要得到肯定答案,日期必须同时满足两个条件。 2005 年 12 月 25 日大于或者等于开始日期 2005 年 7 月 1 日,因此我们的目标日期满足条件 1。然而,2005 年 12 月 25 日不小于或等于 2005 年 7 月 31 日,因此目标日期不满足条件 2,这意味着该语句不为真。 (记住,两个条件必须同时满足。) 结果是,我们知道圣诞节不在七月份,我们用一条消息回显该结果。 如果两个条件同时为真,我们将会回显一个令人愉快的节日消息,“The target date is within the specified range.(目标日期在指定的范围之内。)”

希望对您有所帮助,JW。