将AMAZON.DURATION添加到当前时间

Ada*_*331 4 node.js alexa-skills-kit

我正在编写一个Alexa技能,我希望将记录存储在未来时间的数据库中.例如,如果用户说"在两小时内",我想将时间存储在两小时后.

到目前为止,我发现我可以使用AMAZON.DURATION插槽类型将这样的单词转换为持续时间,但我还没想出如何将其添加到当前日期.

持续时间如下:PT2H.P表示持续时间,T表示时间单位,2H表示2小时.我自己可以解析这个问题,但是我希望有一些内置功能可以做到这一点?

Ada*_*331 5

所以我使用moment.js库解决了这个问题.我已经使用它来格式化和处理日期,我发现它们也支持持续时间.

我解决这个问题的方法是获取当前日期,解析持续时间并将它们添加到一起:

var now = moment();
var duration = moment.duration(myDurationString);
var futureDate = now.add(duration);
Run Code Online (Sandbox Code Playgroud)

然后,我可以格式化futureDate回读给用户并将其保存在数据库中.