来自字符串的JavaScript日期?

时间:2012-07-25 20:44:28

标签: javascript

新手问题。我有一个以下格式的字符串:

var dateStr = '2012-4-14';

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

var myDate = new Date(dateStr);

我应该采取哪些不同的做法 - 我应该拆分字符串吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

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

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

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

请注意,这只有在您可以保证每次日期字符串格式相同时才有效。

答案 1 :(得分:2)

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

这个答案也可以证明自己很有用:Why does Date.parse give incorrect results?

答案 2 :(得分:0)

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