2016-10-08 12 views
1

各RSSアイテムのタイトルの下に表示する日付を取得できません。日付は表示されますが、私のページの一番下に表示されます。私は試行錯誤してきましたが、私はちょうどこの時点でしばらく固執しています。RSS2JSONで日付を表示および書式設定する方法は?

<script type="text/javascript"> 
var content = document.getElementById('insurance-news'); 

function showFeed(data){ 
    if(data.status == 'ok'){  

     var feedlength = data.items.length; 

     var output = ''; 

     function formatDate(myElement){ 
      var date = new Date(myElement); 
      var months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
      var string = months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear(); 
      document.write(string); 
     }; 

     for(var i=0;i<5;++i){ 

      output += '<p><h2><a href="' + 
      data.items[i].link + '" target="_blank" >' + 
      data.items[i].title + '</h2></a></p><p>' + 
      formatDate(data.items[i].pubDate) + '</p>'; 

     } 

     content.innerHTML = output; 

    } 

} 
</script> 
<script type="text/javascript" src="http://rss2json.com/api.json?callback=showFeed&rss_url=http%3A%2F%2Fmix.chimpfeedr.com%2F36116-Insurance-News"></script> 

また、このように日付をフォーマットする方法はありますか? 2016年10月10日フォーマット飼料のpubDateのために14時00

答えて

1

あなたは、あなたの質問で提案されているように、この行に置き換えます。これにより

var string = months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear(); 

var string = months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear() + " " + addZero(date.getHours()) + ":" + addZero(date.getMinutes()); 

を私があなたを変更コードはわずかで、ここに結果があります:

$(document).ready(function() { 
 
    loadNews(); 
 
}); 
 

 
// Load news: 
 
function loadNews() { 
 
    $.ajax({ 
 
     url: "http://rss2json.com/api.json?callback=showFeed&rss_url=http%3A%2F%2Fmix.chimpfeedr.com%2F36116-Insurance-News", 
 
     type: "GET", 
 
     dataType: 'jsonp', 
 
     headers: { 
 
      "accept": "application/json;odata=verbose", 
 
     }, 
 
     success: function(data) { 
 
      var feedlength = data.items.length; 
 
      var finalHTML = ""; 
 
      var HTML_DIV = document.getElementById('divAllNews'); 
 

 
      // Validar que haya encontrado el div. 
 
      if (HTML_DIV != null && HTML_DIV != undefined) { 
 

 
       // Validar que la consulta traiga datos. 
 
       if (feedlength != null && feedlength > 0) { 
 
        for (var i = 0; i < feedlength; i++) { 
 
         finalHTML += "<div>" + 
 
          " \t <p>" + "<a href='" + data.items[i].link + "'>" + data.items[i].title + "</a>" + "</p>" + 
 
          " \t <p>" + "Date: " + formatDate(data.items[i].pubDate) + "</p>" + 
 
          "</div>"; 
 
        } 
 
       } 
 

 
       // Colocar los datos. 
 
       HTML_DIV.innerHTML = (finalHTML != "") ? finalHTML : "No results"; 
 
      } 
 
     }, 
 
     error: function(err) { 
 
      alert('An error occurred.'); 
 
     } 
 
    }); 
 
} 
 

 
// Format date: 
 
function formatDate(myElement) { 
 
    var date = new Date(myElement); 
 
    var months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); 
 
    var string = months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear() + " " + addZero(date.getHours()) + ":" + addZero(date.getMinutes()); 
 
    return string; 
 
} 
 

 
// Add zero. Source: http://www.w3schools.com/jsref/jsref_gethours.asp 
 
function addZero(i) { 
 
    if (i < 10) { 
 
     i = "0" + i; 
 
    } 
 
    return i; 
 
}
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
 
<div id="divAllNews"><i>Loading news...</i></div>

+1

非常に参考になりました。ありがとうございます。私はまた私の元のコードで私はちょうどdocument.write(文字列)を変更したことがわかりました。文字列を返す。 – Andrew

+1

あなたのコードは間違いなく物事を別の方法で見てより多くを学ぶのに役立ちます。 – Andrew

+0

@Andrew私は助けてうれしいです。 –

関連する問題