3

我正在使用AMAZON.DURATION内置的插槽类型从我的自定义 Alexa 技能中获取数据。这完美地工作并将给定的持续时间转换为 ISO-8601 持续时间格式。

例如,槽类型成功地将“十分钟”转换为PT10M,我可以从传递给我的 Lambda 函数的请求对象中获取此数据。但是,我也想将未格式化的“十分钟”传递给我的 Lambda 函数。

这可能吗?

4

2 回答 2

0

经过多次试验和错误,我在亚马逊开发者论坛上问了同样的问题,亚马逊的官方回应是:

嗨,虽然这是一个有趣的请求,但这是不可能的!

我最终在 Python 中编写了一个手动转换函数。

于 2017-02-02T11:11:13.677 回答
0

应该手动转换它。下面是 nodejs 转换为分钟的代码片段。让我们假设 Alexa 向 Lambda 发送 PT5M

var time = "PT5M";
var res = time.substring(2, (time.length));
var mins;
var timelist = res.split("H");
if(timelist.length > 1){
    mins = +parseInt((timelist[0]*60),10)+parseInt((timelist[1].substring(0,(timelist[1].length-1))),10);
}else{
    mins = res.substring(0, (res.length-1));
}
console.log(mins);
于 2018-07-03T19:11:17.757 回答