Watson Assistant根据用户输入的@ sys-date将星期几放入变量中

时间:2019-10-10 07:29:07

标签: ibm-cloud ibm-watson watson-assistant

我正在制作一个可以预订晚餐的机器人。当它要求用户保留时间时,我希望该机器人根据用户输入的日期,将变量$ dayoftheweek填充为星期几。我该怎么做?

slot

这是我的广告位“如果找到”。

value  基本上,我想知道可以使用什么“值”来填充星期几。

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用new system entities (currently in beta)。在您的技能选项中启用Beta。然后,在对话框节点中,分配以下内容:

Check for: @sys-data.day_of_week
save as: mydayofweek

请注意,日期名称是小写。

答案 1 :(得分:1)

您可以使用reformatDateTime的方法expession language从@ sys-date获取日期。

例如,将$dayofweek设置为

<? @sys-date.reformatDateTime('u') ?> 

$dayofweek设置为介于“ 1”(星期一)和“ 7”(星期日)之间的值

或将$dayofweek设置为

<? @sys-date.reformatDateTime('E') ?> 

$dayofweek设置为“ Mo”和“ Su”之间的值

答案 2 :(得分:0)

@ sys-date的值以字符串格式“ yyyy-MM-dd”存储,例如“ 2016-11-21”。

如果您想知道该日期是星期几,可以使用方法reformatDateTime

"<? @sys-date.reformatDateTime('EEEE') ?>"

Here all the posibles values of the method

所以您的节点看起来像this

或JSON格式:

{
  "context": {
    "dayoftheweek": "<? @sys-date.reformatDateTime('EEEE') ?>"
  }
}

这里有test的一小部分将存储在一周的$ day中:

  

沃森:你好。我能为您提供什么服务?

     

用户:星期几测试

     

沃森:告诉我一个约会

     

用户:2019年9月13日

     

沃森:星期五

Here是测试的JSON技能。