2017-04-26 84 views
2

当我得到像2017-05-05T00:00:00May 15, 2017这样的值时,此工作正常,但在传递类似new Date();之类的值时总是失败。我如何获得它也接受JavaScript日期对象?当传递javascript日期对象时,瞬间返回无效日期

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

编辑---

需要明确的是,这条线失败,invalid datedt = new Date();

回答

1

您的方法失败,因为momentjs的utc()功能期待第一个参数是日期string和当您将第二个String数组作为参数传递时,不是Date对象。以下是从矩允许的方法签名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>

+0

当我通过'DT =新的日期()'它以无效的日期失败。我需要为格式数组添加一个值吗? – Legion

+0

你是否正确地将'dt'对象传递给了momentjs?你可以在你想要做什么的地方发布你的代码吗? –

+0

@Legion基于你的问题更新了上面的代码。 –

相关问题