2016-07-05 98 views
1

我正在尝试调整读取的时间,因为字符串位于使用VBScript的指定时间间隔之间。以下是该脚本:vbscript中的时间间隔之间的时间

dim splitString, currentTime 
splitString = Split("12 59 00") 
currentTime = TimeSerial(splitString(0),splitString(1), splitString(2)) 
If ((DateAdd("n",-1,time())) <= currentTime < DateAdd("n", 1,time())) Then 
    Wscript.Echo currentTime 
End If 

这似乎并没有工作。即使当前时间超出时间间隔也会获得回显。

+0

很确定这会以某种形式或之前被问过。 – Lankymart

回答

2

Python你可以检查“是一个区间”使用短

if x <= y < z: 
    ... 

,但在VBScript中,你需要更长的

If x <= y And y < z Then 
    ... 
2

你需要独立评估两个条件。

dim splitString, currentTime 
splitString = Split("3 39 00") 
currentTime = TimeSerial(splitString(0),splitString(1), splitString(2)) 
If (DateAdd("n",-1,time()) <= currentTime) And (currentTime < DateAdd("n", 1,time())) Then 
    Wscript.Echo currentTime 
End If 
2

我用DateDiff。将IF语句修改为:

If (DateDiff("n",DateAdd("n",-1,time()),currentTime) = 1 AND DateDiff("n",currentTime,DateAdd("n",1,time())) = 1) Then 
    Wscript.Echo currentTime 
End If 

按预期工作。