2012-04-20 19 views
0

我有這個嘰嘰喳喳函數使得與鳴叫被張貼日期的鏈接。它適用於Firefox,Chrome和Safari。 IE雖然產生NaN或NaN天前。進入函數的日期格式爲這樣:週五4月10點19分06秒+0000 2012年任何人有什麼想法?jQuery的日期函數返回NaN在IE

  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; 
+0

得到了在IE8混合的結果。沒有返回NaN的哪來的Chrome返回19天,IE8返回20 – j08691 2012-04-20 15:52:01

+0

仍然給我一個NaN的結果IE8。想知道爲什麼會出現NaN值? – 2012-04-20 18:02:31

回答

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