2016-03-05 101 views
4

我正在编写一个Alexa技能,我希望将这些记录存储在数据库中以备将来时间。例如,如果用户说“在两个小时之内”,我想从现在起两小时之后存储时间。将AMAZON.DURATION添加到当前时间

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

持续时间回来,像这样:PT2H。 P表示持续时间,T表示时间单位,2H表示2小时。我可以自己解析,但是我希望有一些内置函数可以做到这一点?

回答

4

所以我解决了这个问题,使用moment.js library。我已经用它来格式化和处理日期,并且我发现它们也支持​​。

我解决的办法,这是通过获取当前的日期,分析时间,并一起加入他们:

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

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