将AMAZON.DURATION添加到当前时间

我正在写一个Alexa技能,我希望在将来的时间将logging存储在数据库中。 例如,如果用户说“在两个小时之内”,我想存储从现在起两个小时的时间。

到目前为止,我发现我可以使用一个AMAZON.DURATION插槽types来将这样的单词转换为一个持续时间,但我还没有想出如何将它添加到当前date。

持续时间如下所示:PT2H。 P表示持续时间,T表示时间单位,2H表示2小时。 我可以自己parsing这个,但是我希望有一些内置函数可以做到这一点?

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

我解决这个问题的方法是获取当前date,parsing持续时间,并将它们加在一起:

var now = moment(); var duration = moment.duration(myDurationString); var futureDate = now.add(duration); 

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