【问题标题】:Getting Relative Time in Alexa在 Alexa 中获取相对时间
【发布时间】:2017-07-18 03:37:31
【问题描述】:

我正在尝试开发 Alexa 技能,我需要获取相对时间,例如:“5 分钟前”。

我已经为我的技能定义了一个时间段,它接受像5 minutes6.30 am4 in the morning 这样的时间。但我无法接受像5 minutes ago 这样的时间。我是 Alexa 新手,有人可以帮我解决这个问题

{
  "slots": [
    {
      "name": "time",
      "type": "AMAZON.TIME"
    }
  ],
  "intent": "ReportTime"
}

【问题讨论】:

  • @Connum 下面的答案是一个很好的开始。请注意,除非您请求邮政编码信息并且可以自己处理,否则您可能会遇到与时区相关的问题,请参阅此线程:stackoverflow.com/questions/44072625/…
  • 所以现在技能不支持过去的日期/时间?

标签: alexa alexa-skills-kit alexa-skill alexa-slot


【解决方案1】:

您可以添加一个{modifier} 插槽,该插槽可以采用多个关键字,例如“以前”和“从现在开始”。然后,意图可能具有类似于以下话语的内容:

{
  "name": "TimeTest",
  "samples": [
    "what happened {time} {modifier}",
    "what will happen {time} {modifier}"
  ],
  "slots": [
    {
      "name": "time",
      "type": "AMAZON.TIME",
      "samples": []
    },
    {
      "name": "modifier",
      "type": "custom_time_modifier",
      "samples": []
    }
  ]
}

使用以下自定义修饰符类型:

"types": [
{
  "name": "custom_time_modifier",
  "values": [
    {
      "id": null,
      "name": {
        "value": "ago",
        "synonyms": [
          "in the past"
        ]
      }
    },
    {
      "id": null,
      "name": {
        "value": "from now",
        "synonyms": [
          "in the future"
        ]
      }
    }
  ]
}

【讨论】:

    猜你喜欢
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 2017-08-28
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多