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



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

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点

如何正确比较?

在比较之前,右手边被类型转换为与左手边相同的类型。

说到这里,我认为你可以使用"HH"来确保你有一个前导零,因为可能有一个非数字的":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

最新更新