1

新手提问。我有以下格式的字符串:

var dateStr = '2012-4-14';

我想把它变成一个 JavaScript Date 对象。下面在 Chrome 中创建一个 Date 对象,但在 IE8 中是 NaN:

var myDate = new Date(dateStr);

我应该做些什么不同 - 我应该拆分字符串吗?

谢谢!

4

3 回答 3

3

尝试将您的日期字符串拆分为年、月、日并以不同的方式实例化您的日期。

var rawDate = '2012-4-14'.split('-');

var myDate = new Date(rawDate[0], rawDate[1]-1, rawDate[2]);

请注意,这只有在您可以保证您的日期字符串每次都具有相同格式的情况下才有效。

于 2012-07-25T20:46:50.770 回答
2

javascript中有一个Date.parse,它可以识别各种日期格式,详见MDN页面。对于 ISO 8601 日期(你的似乎是这个),你可以使用这个库

这个答案也可以证明自己有用:为什么 Date.parse 给出不正确的结果?

于 2012-07-25T20:46:34.463 回答
0

更改var dateStr = '2012-4-14';var dateStr = '2012/4/14';

于 2012-07-25T20:48:05.387 回答