更改日期格式Y-m-d H:i:来自json feed的jquery

时间:2013-07-09 11:07:17

标签: jquery json

使用JQUERY将日期格式从 Y-m-d H:i:s 转换为 dd-MM-YYYY 时出现问题。

我的json看起来像:

{
  "status": "ok",
  "posts": [
    { 
      "id": "21",
      "title": "Title",
      "date": "2013-06-26 06:46:29"
    }
  ]
}

和ajax请求:

       $.ajax({ 
        url: ,
        async: false,
        callback: 'callback',
        crossDomain: true,
        contentType: 'application/json; charset=utf-8',
        dataType: 'jsonp',
        timeout: 2000,
        success: function (data, status) {


           if (data !== undefined && data.posts !== undefined) {

            $('#news').append('<a class="item" href="single.html?type=news&id=' + item.id + '">' + item.title  + item.date + '</a>');
           }    
        }
 });

有人可以通过使用jsfiddle帮助我吗?我是jquery的新手......

3 个答案:

答案 0 :(得分:2)

在纯JavaScript中使用split函数,然后抛弃变量。

var date = "2013-06-26 06:46:29";
var dateSplit = date.split(" ");
var dateSplit2 = dateSplit[0].split("-");
var formattedDate = dateSplit2.reverse().join('-');   // 26-06-2013

这可能看起来很丑陋,而且确实如此。但它适合,只要你实际上不需要以其他方式格式化日期(如时区等)。然后你必须查看Date()对象。

编辑:我想鼓励人们使用尽可能多的纯JavaScript,因为它的速度很快。通常,jQuery库和函数会产生开销,这会导致您的站点不仅加载变慢,而且进程变慢。完美的代码没有捷径,你必须花一些时间来学习它,并学习一些技巧和窍门。祝你好运:)

答案 1 :(得分:2)

您可以使用$.datepicker.formatDate之类的:

var oldDate = "2013-06-26 06:46:29";
console.log(oldDate);    //    2013-06-26 06:46:29

var newDate = $.datepicker.formatDate( "dd-mm-yy", new Date(oldDate) );
console.log(newDate);    //    26-06-2013

FIDDLE DEMO

答案 2 :(得分:0)

你必须解析日期字符串“2013-06-26 06:46:29”并格式化它。你可以试试这个:

http://blog.stevenlevithan.com/archives/date-time-format