传递javascript日期对象时,Moment返回无效日期

时间:2017-04-26 19:16:13

标签: javascript momentjs

当我获得2017-05-05T00:00:00May 15, 2017等值时,这会有效,但在传递new Date();之类的内容时总会失败。如何让它也接受javascript日期对象?

moment.utc(dt, [moment.ISO_8601, 'MMMMDDY h:mm:ss A']).add(1, 'second');

编辑---

要明确的是,当invalid date

时,此行会因dt = new Date();而失败

1 个答案:

答案 0 :(得分:1)

您的方法失败,因为当您将第二个String数组作为参数传递时,momentjs的utc()函数期望第一个参数是日期string而不是Date对象。以下是Moment Docs允许的方法签名 -

moment.utc();
moment.utc(Number);
moment.utc(Number[]);
moment.utc(String);
moment.utc(String, String);
moment.utc(String, String[]);
moment.utc(String, String, String);
moment.utc(Moment);
moment.utc(Date);

以下是您的查询的工作原型 -



var current = new Date();

var testDate = moment.utc(current).add(1,'s').format("MMMM Do YYYY, h:mm:ss");

console.log(testDate);

<script src="https://momentjs.com/downloads/moment.min.js"></script>
&#13;
&#13;
&#13;