我正在编写一项Alexa技能,希望将来可以将记录存储在数据库中。例如,如果用户说“两小时之内”,我想存储从现在开始两小时的时间。

到目前为止,我发现我可以使用AMAZON.DURATION slot type将类似的单词转换为持续时间,但是我还没有弄清楚如何将其添加到当前日期。

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

最佳答案

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

我解决此问题的方法是获取当前日期,解析持续时间,然后将它们加在一起:

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

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

关于node.js - 将AMAZON.DURATION添加到当前时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35810418/

10-16 21:08