-1

我在使用 JQUERY将日期格式从Ymd 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 的新手....

4

3 回答 3

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 库和函数通常充满开销,这会导致您的网站不仅加载缓慢,而且处理速度也很慢。完美的代码没有捷径可走,你必须花一些时间来学习它,并学习一些技巧和窍门。祝你好运 :)

于 2013-07-09T11:12:58.863 回答
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

小提琴演示

于 2013-07-09T11:17:07.807 回答
0

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

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

于 2013-07-09T11:12:45.040 回答