无法在VBScript中的If语句中正常组合条件

Eth*_*han 1 vbscript if-statement multiple-conditions

我想确定它是在凌晨12点到凌晨1点之间.这是我的if语句:

If InStr(Time,"12") AND InStr(Time,"AM") Then 
    ' Do something
Else
    ' Do something else
End If
Run Code Online (Sandbox Code Playgroud)

问题是,即使两个条件都为真,此语句的计算结果为false.我知道这是因为我试过这样的嵌套

If InStr(Time,"12") Then
    If InStr(Time,"AM") Then
        ' Do something
...
Run Code Online (Sandbox Code Playgroud)

这很有效.这也有效

If InStr(Time,"12")<>0 AND InStr(Time,"AM")<>0 Then
    ' Do something
...
Run Code Online (Sandbox Code Playgroud)

但是如果它作为嵌套if工作,为什么我不能在单个if语句中测试两个嵌套if条件?

我用它们返回的值替换了InStr函数调用

If 1 AND 10 Then
    ' Do something
Else
    ' Do something else
End If
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了:if语句被评估为false并且执行了"Do something else"命令.但是当我将第二个条件嵌套在第一个if语句中的另一个if语句时,执行了"执行某些操作"命令.

为什么这样,如果没有<> 0且没有嵌套,有没有办法做到这一点?

小智 5

If Time() >= TimeValue("12:00:00") AND Time() <= TimeValue("23:59:59") then 
   'Do Something
ElseIf  Time() >= TimeValue("00:00:00") AND Time() <= TimeValue("01:00:00") then 
   'Do the same 
Else
   'Do something different
End If
Run Code Online (Sandbox Code Playgroud)

这应该工作:)