jquery日期转换chrome工作但IE和Firefox没有

迷失在这里 以下适用于Chrome,但在IE和FireFox中,“未定义的未定义的NaN Nan”将被返回

我错过了什么?

var dateString = $(this).attr("ows_EventDate"); var current_date = new Date(dateString); var month_names = []; month_names[month_names.length] = "January"; month_names[month_names.length] = "February"; month_names[month_names.length] = "March"; month_names[month_names.length] = "April"; month_names[month_names.length] = "May"; month_names[month_names.length] = "June"; month_names[month_names.length] = "July"; month_names[month_names.length] = "August"; month_names[month_names.length] = "September"; month_names[month_names.length] = "October"; month_names[month_names.length] = "November"; month_names[month_names.length] = "December"; var day_names = []; day_names[day_names.length] = "Sunday"; day_names[day_names.length] = "Monday"; day_names[day_names.length] = "Tuesday"; day_names[day_names.length] = "Wednesday"; day_names[day_names.length] = "Thursday"; day_names[day_names.length] = "Friday"; day_names[day_names.length] = "Saturday"; var startU = (day_names[current_date.getDay()]) + (", ") + (month_names[current_date.getMonth()]) + (" ") + current_date.getDate() + (" ") + (" ") + current_date.getFullYear(); 

Chrome返回… 2012年2月23日星期四等等,非常完美。

dateString必须格式正确。 ISO 8601日期格式应该有效(http://www.iso.org/iso/date_and_time_format)

在你的评论中,你说dateString等于2012-02-04 21:00:00 。 用T替换空格会使其成为所有浏览器都可以解析的有效日期格式,例如:

2012-02-04T21:00:00

示例: http : //jsfiddle.net/TQjhP/

IE中的Date()构造函数不接受您的日期"2012-02-04 21:00:00"

有关详细信息,请参阅此相关post: Javascript Date()构造函数不起作用 。

如果你真的想要什么是合法的细节,那么Date()构造函数应该接受为字符串的规范是RFC2822 。

显然,Firefox和IE使用"2012/02/04 21:00:00"

有关进一步的讨论,请参阅此文