我知道这已经在线了,但我还是不太确定如何修改这段特殊的代码:
timeCreated: function(dateString) {
var date = new Date(dateString);
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
var hh = date.getHours();
var m = date.getMinutes();
var dd = "AM";
var h = hh;
if (h >= 12) {
h = hh-12;
dd = "PM";
}
if (h == 0) {
h = 12;
}
return h + ':' + date.getMinutes().toString() + ' ' + dd + ' ' + monthNames[date.getMonth()] + ', ' + date.getDate().toString() + ', ' + date.getFullYear().toString();
}
dateString输出为Tue Nov 06 23:29:33 +0000 2012
。
答案 0 :(得分:2)
您的输入日期格式与任何标准格式都不匹配,因此IE
无法解析它,即无法构建正确的日期对象。
由于Date
对象构造不正确,因此date.getHours();
和date.getMinutes();
等所有方法调用都返回NaN。
如果您使用可接受格式的日期字符串,例如dateString =“Nov 06 2012 23:29:33 +0000”,它正常工作。
如果您想支持自定义格式基础数据解析,请查看
http://www.mattkruse.com/javascript/date/,它有一个很大的自定义方法getDateFromFormat(val,format)
,可以将特定格式的任何日期字符串转换为Date对象。请看看,看看是否有帮助。
答案 1 :(得分:0)
dateString
的格式是什么?
内置对解析日期字符串的支持因浏览器而异,从糟糕到糟糕。最好手动解析字符串以将其转换为Date对象,然后从那里开始。如果您提供字符串格式,则可以提供进一步的帮助。