使用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的新手......
答案 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
答案 2 :(得分:0)
你必须解析日期字符串“2013-06-26 06:46:29”并格式化它。你可以试试这个: