2012-04-20 3 views
0

트위터가 게시 된이 링크와 함께이 트위터 기능을 갖습니다. Firefox, Chrome 및 Safari에서 작동합니다. IE는 NaN 또는 NaN 일 전에 생성합니다. 함수로 들어오는 날짜는 다음과 같이 형식화됩니다 : Fri Apr 10:19:06 +0000 2012. 누구든지 어떤 생각을 가지고 있습니까?jQuery date 함수가 IE에서 NaN을 반환합니다.

  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

있어 혼합 된 결과 :

귀하의 문자열 일 수 부족하거나 너무 많은 :을 가지고 나타납니다. NaN을 반환하지 않았지만 Chrome이 19 일을 반환 한 경우 IE8은 20을 반환했습니다. – j08691

+0

IE8에서 여전히 NaN 결과를 제공합니다. 왜 NaN 값이 나오는지에 대한 생각은 없습니까? –

답변

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입니다. IE8에서 Fri Apr 10:19:06 +0000 2012

관련 문제