How can i change Json month format from number to name?

598 views Asked by At

I pulled some posts from a Wordpress blog, I want to change the date format of the Json script, instead of "2015-06-18 08:24:10" to be "July 18"

I am using the Json api Wordpress plugin and a Html file into a cms, JSon

            <script type="text/javascript">
var MYBLOG_LIMIT = 3;
var MYWRAPPER_CLASS = 'homeblog';

var WP={open:function(b){var a={posts:function(){var d=MYBLOG_LIMIT;var e=0;var c={all:function(g){var f=b+"/api/get_recent_posts/";f+="?count="+d+"&page="+e+"&callback=?";jQuery.getJSON(f,function(l){var k=l.posts;for(var j=0;j<k.length;j++){var h=k[j];h.createComment=function(i,m){i.postId=h.id;a.comments().create(i,m)}}g(k)})},findBySlug:function(f,h){var g=b+"/api/get_post/";g+="?slug="+f+"&callback=?";jQuery.getJSON(g,function(i){h(i.post)})},limit:function(f){d=f;return c},page:function(f){e=f;return c}};return c},pages:function(){var c={findBySlug:function(d,f){var e=b+"/api/get_page/";e+="?slug="+d+"&callback=?";jQuery.getJSON(e,function(g){f(g.page)})}};return c},categories:function(){var c={all:function(e){var d=b+"/api/get_category_index/";d+="?callback=?";jQuery.getJSON(d,function(f){e(f.categories)})}};return c},tags:function(){var c={all:function(e){var d=b+"/api/get_tag_index/";d+="?callback=?";jQuery.getJSON(d,function(f){e(f.tags)})}};return c},comments:function(){var c={create:function(f,e){var d=b+"/api/submit_comment/";d+="?post_id="+f.postId+"&name="+f.name+"&email="+f.email+"&content="+f.content+"&callback=?";jQuery.getJSON(d,function(g){e(g)})}};return c}};return a}};

var blog = WP.open('http://blog.tavorro.com/');
blog.posts().all(function(posts){
  for(var i = 0; i < posts.length; i++){
    jQuery('.'+MYWRAPPER_CLASS).append(function(){
      return (posts[i].thumbnail) ? '<div class="coll"><div class="date"><span>'+posts[i].date+'</span></div><a class="lastpost_title" href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></a><div class="blog-post"><p>'+posts[i].excerpt+'<p/></div></a><div class="link-read"><a href="'+posts[i].url+'">Read More</a></div>' : '<a href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></div>';

    });
  }
});
</script>   

Can you help me please, any suggestion is welcome!

Here is the website where the date should be changed website

1

There are 1 answers

2
Satyajit On BEST ANSWER

The dates as returned are strings so in the absence of a proper localized formatter your best option is to do something like this:

var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
blog.posts().all(function(posts){
  for(var i = 0; i < posts.length; i++){
    jQuery('.'+MYWRAPPER_CLASS).append(function(){
      var dt = new Date(posts[i].date);
      return (posts[i].thumbnail) ? '<div class="coll"><div class="date"><span>'+months[dt.getMonth()]+dt.getDate()+'</span></div><a class="lastpost_title" href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></a><div class="blog-post"><p>'+posts[i].excerpt+'<p/></div></a><div class="link-read"><a href="'+posts[i].url+'">Read More</a></div>' : '<a href="'+posts[i].url+'"><h4>'+posts[i].title+'</h4></div>';

    });
  }
});