0

我从 API 接收到这个日期/时间:

2012-03-31 12:00:00

做这个的最好方式是什么:

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

4

2 回答 2

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/这样的库来为你做这件事。

于 2013-02-25T11:22:26.050 回答
2

如果你只想要你可以使用的日期:

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

& Firefox 不会抱怨。

于 2013-02-25T11:51:55.637 回答