2012-09-26 29 views
7

Đây là phiên bản JSFiddle bẩn của ứng dụng web của tôi, tuy nhiên, tôi không hiểu cách điều chỉnh ngày tháng từ TimeStamp Unix, tất cả những gì tôi muốn hiển thị là tháng, ngày và năm.Hiển thị đúng ngày Instagram

Mọi trợ giúp sẽ được đánh giá rất cao!

http://jsfiddle.net/89YCe/

Dưới đây là Code:

$(function() { 
    $.ajax({ 
     type: "GET", 
     dataType: "jsonp", 
     cache: false, 
     url: "https://api.instagram.com/v1/tags/crookedspaces/media/recent/?access_token=16741082.1b07669.121a338d0cbe4ff6a5e04543158a4f82", 
     success: function(data) { 
      console.log(data); 
      //OKAY, now lets get to the pretty stuff, INSTAGRAM PEEKTARS. 
      for (var i = 0; i < 5; i++) { 
        $(".instagram").append("\ 
         <div class='instagram-feed'>\ 
          <img class='instagram-image' src='" + data.data[i].images.standard_resolution.url +"' width='325px'/>\ 
          <div class='igHover2'>\ 
           posted by: "+data.data[i].user.username+"<br />\ 
           posted on: "+Date(data.data[i].created_time).toString()+"<br />\ 
          </div />\ 
         </div>\ 
        "); 
      } 
     } 
    }); 
});​ 

Trả lời

14

Ở đây bạn là:

$(function() { 
    $.ajax({ 
     type: "GET", 
     dataType: "jsonp", 
     cache: false, 
     url: "https://api.instagram.com/v1/tags/crookedspaces/media/recent/?access_token=16741082.1b07669.121a338d0cbe4ff6a5e04543158a4f82", 
     success: function(data) { 
      console.log(data); 
      //OKAY, now lets get to the pretty stuff, INSTAGRAM PEEKTARS. 
      for (var i = 0; i < 5; i++) { 
       var date = new Date(parseInt(data.data[i].created_time) * 1000); 
        $(".instagram").append("\ 
         <div class='instagram-feed'>\ 
          <img class='instagram-image' src='" + data.data[i].images.standard_resolution.url +"' width='325px'/>\ 
          <div class='igHover2'>\ 
           posted by: "+data.data[i].user.username+"<br />\ 
           posted on: "+(date.getMonth()+1)+"/"+date.getDate()+"/"+date.getFullYear()+"<br />\ 
          </div />\ 
         </div>\ 
        "); 
       date = null; 
      } 
     } 
    }); 
}); 

Và một bản demo sống với điều này làm việc http://jsfiddle.net/89YCe/2/

+0

Điều này dường như làm việc, cảm ơn bạn rất nhiều! – tbremer

+0

@tbremer Bạn được chào đón! –

2

với câu trả lời trước đó tôi đã nhận được "NaN" trong nhiều trường hợp.

Instagram sử dụng một dấu thời gian Unix và tôi thấy kịch bản này để làm việc tốt nhất:

$(function() { 
$.ajax({ 
    type: "GET", 
    dataType: "jsonp", 
    cache: false, 
    url: "https://api.instagram.com/v1/tags/breathadvisor/media/recent/?access_token=16741082.1b07669.121a338d0cbe4ff6a5e04543158a4f82", 
    success: function(data) { 
     console.log(data); 
     //OKAY, now lets get to the pretty stuff, INSTAGRAM PEEKTARS. 
     for (var i = 0; i < 5; i++) { 
      var date = new Date(data.data[i].created_time * 1000); 
      var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; 
      var year = date.getFullYear(); 
      var month = months[date.getMonth()]; 
      var date = date.getDate(); 
      var time = month+', '+ date+' '+year ; 

       $(".instagram").append("\ 
        <div class='instagram-feed'>\ 
         <img class='instagram-image' src='" + data.data[i].images.standard_resolution.url +"' width='325px'/>\ 
         <div class='igHover2'>\ 
          posted by: "+data.data[i].user.username+"<br />\ 
          posted on: "+time+"<br />\ 
         </div />\ 
        </div>\ 
       "); 
      date = null; 
     } 
    } 
}); 

});

đây là một jsfiddle: http://jsfiddle.net/jgknott/V5TCs/

+0

Guy bạn đá, câu trả lời đầu tiên hoạt động tốt, nhưng sẽ hiển thị ngày với số, bạn trả lời là ngọt ngào, bạn có thể kiểm soát tất cả mọi thứ nhờ. –

0

Dưới đây là một nhà máy angularjs đẹp tôi đã làm cho việc hiển thị ngày giống hệt như instagram làm:

.factory('displaydate', ['$filter', function($filter) { 
    return function (date){ 
     // Split timestamp into [ Y, M, D, h, m, s ] 

     var actiondate = new Date(parseInt(date) * 1000); 
     var today = new Date(); 
     if(today.getDate() === actiondate.getDate() && today.getMonth() === actiondate.getMonth() && today.getYear() === actiondate.getYear()){ 
      var hourssince = today.getHours() - actiondate.getHours(); 
      var minutessince = today.getMinutes() - actiondate.getMinutes(); 
      var secondssince = today.getSeconds() - actiondate.getSeconds(); 
      if(hourssince > 0){ 
       date = hourssince+'u'; 
      }else if(minutessince > 0){ 
       date = minutessince+'m'; 
      }else{ 
       date = secondssince+'s'; 
      } 
     }else{ 
      var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds 
      var diffDays = Math.round(Math.abs((today.getTime() - actiondate.getTime())/(oneDay))); 
      if(diffDays >= 7){ 
       date = Math.round(diffDays/7)+'w'; 
      }else{ 
       if(diffDays == '0'){ 
        diffDays = '1'; 
       } 
       date = diffDays+'d'; 
      } 
     } 
     return date; 
    }; 
}]) 
Các vấn đề liên quan