当前位置: 首页 > 知识库问答 >
问题:

IBM Watson Assistant:用户输入时间框架验证

佴博实
2023-03-14

我正在使用IBM沃森助手,并尝试根据时间帧/跨度验证用户输入。我应该使用什么功能?

我正在使用@sys-date.before(now())方法来验证用户输入的过去和现在之间的时间框架,但它现在对我有效。如果我现在或今天输入沃森助手仍然认为这是过去...

@sys date。before(now())

看起来“好像你以前想预约。再试一次。”正确的$day现在是

我预计,如果用户现在或今天的输入可以使预订生效,如果用户输入过去的时间来响应

“就像你过去想预订一样。再试一次。”

所讨论的代码片段如下所示:

{ "context": 
    { "day": "@sys-date" } }
{ "context": 
    { "time": "<? @sys-time.reformatDateTime('h:mm a') ?>" } }

共有2个答案

司承业
2023-03-14

我解决了!我所做的是我把(今天)放在这里@sys-date.before(今天())现在放在这里@sys-time.before(现在())

钮博裕
2023-03-14

使用IBM Watson Assistant,您可以使用systen entities@sys date和@sys time将用户输入转换为数据/时间值。您可以使用日期和时间的表达式语言函数来计算和转换这些值。看起来你已经在使用这两种方法了。现在这取决于逻辑。。。

有之前和之后的函数,但也有相同的时刻或相同的或之后的函数以及更多用于比较的函数。如果用户今天输入,它不是现在之前,因为两者都指的是同一天和日期。您是在寻找时间值在当前时间戳之前还是在当前日期之前?您需要比较时间与时间或日期与日期。您可以重新格式化值以剪断时间组件并将其转换为日期。

要获得更高级的验证,甚至可以使用java。util。日期功能。

如果是过去的时刻,这应该是真的:

now.after(yourInput)
 类似资料:
  • 我正在开发一个待办事项列表程序。 我想让用户可以输入日期、时间和关于。我已经知道日期了。我错过的是时间。 但我有很多例外。我错过了什么吗?

  • 编辑问题以包括所需的行为、特定的问题或错误,以及重现问题所需的最短代码。这将帮助其他人回答这个问题。 我正在做一个待办事项列表程序。 我想让用户可以输入日期、时间和关于。我已经有日期了。我缺少的是时间。 但我有很多例外。我有什么遗漏吗?

  • 使用JOptionPane。ShowInputDialog,我需要检查用户是否输入int,否则,JOptionPane应该返回错误消息,并提示用户输入正确的数据类型。 同时,如果用户点击取消节目则应返回主菜单。 对我如何做到这一点有什么建议吗?

  • 用户验证(User Authentification)复合的使用Play框架的数个功能,包括前面已经了解的表单和数据库,以及这篇文章里要提到的加密和会话。根据应用或站点的复杂程度,用户验证也可以随之变化。这里将介绍用户验证的一个基本实现方式。 加密 为了信息安全,用户密码需要加密,而不是保存为明文。Bcrypt算法可以对明文密码进行哈希(Hash)转换。我保存在数据库中的密码,是经过转换后的文本。

  • 我想在用户使用Scanner输入时验证数据类型(在我的情况下是“int”)。 我在下面写了代码。 问题是,在第一个块中,若我给字符,程序终止。“如何在验证失败时保持循环运行??” 在第二个块中,如果我给出非整数,它将无限运行,并显示消息“仅输入整数值”。 从调试中,我得出结论,在不等待输入的情况下,它采用之前提供的最后一个非int值。 为什么编译器取最后一个值?? 有什么建议吗?

  • 我很难想出如何正确使用扫描仪来验证用户输入。例如,程序需要用户输入int,用户只能输入正数,如果用户输入“apple”、“delicious apple”或负数,问题将显示错误消息。我尝试了下面的代码,然后我发现了一个令人不安的问题,“那不是一个数字!”我不知道是什么引起了这些问题。。。。 我在“number=sc.nextInt()”下面加了一行代码,意外地解决了这个问题,现在我的代码变成: 这