将值传递给新日期给出无效日期

时间:2013-07-24 20:49:48

标签: javascript momentjs

当我将值传递给新日期时,我会收到无效日期。我这样做是为了

        var s1 = moment("20.06.2013 09:11:00", "DD.MM.YYYY HH:mm:ss");
        var s2 = s1.format("YYYY.MM.DD HH:mm:ss");
        var dt1 = s2.replace(/[-,.:\s]/g, ",");
        var dt2 = new Date(dt1);

在谷歌浏览器的调试模式下,当我得到dt1的值为“2013,06,20,09,11,00”时。但是当我输入new Date(2013,06,20,09,11,34)时,我会得到约会。

我也尝试删除双引号,但它不会删除双引号。我该怎么做才能摆脱这个错误。

2 个答案:

答案 0 :(得分:2)

如果您在Date之后,但想使用moment.js进行解析,那么就这样做:

var m = moment("20.06.2013 09:11:00", "DD.MM.YYYY HH:mm:ss");
var dt = m.toDate();

答案 1 :(得分:0)

正如Kalley建议的那样,在代码中使用参数:

 var s1 = moment([2013,06,20,09,11,34]);

编辑添加:在Jscript中,moment()采用格式为[Y,M,D,h,m,s]的数组。资料来源:http://momentjs.com/docs/