0

我有这个 twitter 功能与发布推文的日期建立链接。它适用于 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;
4

1 回答 1

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

注意: Internet Explorer 8 标准模式和 Quirks 模式不支持ISO 日期格式。

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

于 2013-07-30T09:28:38.517 回答