比较 Dialogflow CX 条件响应中的时间

Compare time in Dialogflow CX conditional response

我尝试比较条件响应中的时间:

if $sys.func.IDENTITY($sys.func.FORMAT_DATE($sys.func.NOW(), "H")) < 8 OR $sys.func.IDENTITY($sys.func.FORMAT_DATE($sys.func.NOW(), "H")) > 20
  We are closed now
else
  We are open
endif

时间是 18:20,我在文本输出中添加了 $sys.func.IDENTITY($sys.func.FORMAT_DATE($sys.func.NOW(), "H")) 并确保它显示“18”,但它一直在说“我们现在关闭”。

我看到“18”是字符串类型。我可能需要将值转换为整数,但如何?

工作时间是早上 8 点到晚上 9 点

如何正确比较?

右边type casted to the same type与比较前的左边

说到这里,我认为你可以使用“HH”来确保你有一个前导零,因为可能会有一个 non-numeric “:mm” 分钟部分。

您可以使用以下代码:

if $sys.func.FORMAT_DATE($sys.func.NOW(), "HH") < “08” OR $sys.func.FORMAT_DATE($sys.func.NOW(), "HH") > “20” 
  We are closed now 
else 
  We are open 
endif