我正在使用AMAZON.DURATION
内置的插槽类型从我的自定义 Alexa 技能中获取数据。这完美地工作并将给定的持续时间转换为 ISO-8601 持续时间格式。
例如,槽类型成功地将“十分钟”转换为PT10M
,我可以从传递给我的 Lambda 函数的请求对象中获取此数据。但是,我也想将未格式化的“十分钟”传递给我的 Lambda 函数。
这可能吗?
我正在使用AMAZON.DURATION
内置的插槽类型从我的自定义 Alexa 技能中获取数据。这完美地工作并将给定的持续时间转换为 ISO-8601 持续时间格式。
例如,槽类型成功地将“十分钟”转换为PT10M
,我可以从传递给我的 Lambda 函数的请求对象中获取此数据。但是,我也想将未格式化的“十分钟”传递给我的 Lambda 函数。
这可能吗?
应该手动转换它。下面是 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);