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"
。
有关进一步的讨论,请参阅此文