在JS中使用此字符串创建Date对象的最佳方法

时间:2013-02-25 11:10:33

标签: javascript

我从API收到此日期/时间:

2012-03-31 12:00:00

最好的方法是:

没有Firefox的

var date = new Date("2012-03-31 12:00:00")抱怨无效日期?

2 个答案:

答案 0 :(得分:3)

您可以将日期时间字符串中的所有字段与:

匹配
var str = "2012-03-31 12:00:00";
var fields = str.match(/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/);

现在fields[1]包含年份,fields[2]月份等。然后,您可以通过以下方式致电Date

// months are zero-based, so we have to subtract 1
var date = new Date(+fields[1], +fields[2] - 1, +fields[3], +fields[4], +fields[5], +fields[6]);

或者使用像http://momentjs.com/这样的库来为您完成此任务。

答案 1 :(得分:2)

如果您只想要使用日期:

var date = new Date("2012-03-31 12:00:00".split(" ")[0]);

&安培;火狐不会抱怨。