jQuery日期函数在IE中返回NaN

时间:2012-04-20 15:37:06

标签: jquery internet-explorer date time

我有这个推特功能与发布推文的日期链接。它适用于Firefox,Chrome和Safari。 IE虽然在几天前生成NaN或NaN。进入该功能的日期格式如下:Fri Apr 10:19:06 +0000 2012.任何人都有任何想法?

            html += '<a target="_blank" href="http://twitter.com/' + username + '#status_' + data[i].id_str + '">' + data[i].text + ' <i>' + Twitter.daysAgo(data[i].created_at) + '</i></a>';

            daysAgo: function (date) {

            var d = new Date(date).getTime();
            var n = new Date().getTime();

            var numDays = Math.round(Math.abs(n - d) / (1000 * 60 * 60 * 24));
            var daysAgo = numDays + ' days ago';

            if (numDays == 0) {
                alert('Works 1');
                daysAgo = 'today';
            } else if (numDays == 1) {
                alert('Works 2');
                daysAgo = numDays + ' day ago';
            }

            return daysAgo;

1 个答案:

答案 0 :(得分:0)

data[i].created_at返回IE无法解析为日期的字符串。尝试将其格式化为ISO 8601日期字符串:

>> new Date("2012-01-01T00:00+01:00") 
Sun Jan 1 00:00:00 UTC+0100 2012

注意:ISO日期格式为not supported in Internet Explorer 8 standards mode and Quirks mode

您的字符串似乎缺少日期编号或:太多:Fri Apr 10:19:06 +0000 2012