JSON数据日期格式未显示

时间:2015-01-27 17:20:50

标签: javascript mysql json date date-format

你好,抱歉我的英语不好: - )

我的json数据有点问题。

我有一个mysql数据库。在这个数据库中,我已经以日期格式保存数据。 但日期格式采用以下格式:YYYY.MM.DD。 我需要格式DD.MM.YYYY。 好吧,我用这种方式改变了请求:

$rs = mysql_query("SELECT event_name, DATE_FORMAT(beginn,'%d.%m.%Y'), DATE_FORMAT(ende,'%d.%m.%Y') FROM party WHERE ende >= CURDATE()ORDER BY beginn ASC");

现在我使用正确的日期格式

获取此字符串
{"sommer":[{"event_name":"testevent","DATE_FORMAT (beginn, '%d.%m.%Y')":"28.01.2015","DATE_FORMAT (ende, '%d.%m.%Y')":"30.01.2015"}]}

但现在我有了问题,用我的javascript。 在我这样做之前:DATE_Format(开头,'%d。%m。%Y'),我得到了日期(但格式不正确)。 现在我一无所获。

这里是我的javascript:

var url="party.php";
var activitydetail = sessionStorage.activitydetail;
$.getJSON(url,function(json){

$.each(json.sommer,function(i,item){

$('<li><a href="#'+item.event_name+'"> '+item.DATE_FORMAT (beginn, '%d.%m.%Y')+' - '+item.event_name+'</a></li>').appendTo('#accor2');

        });



    });

此功能不再适用于'+item.beginn+'且无法使用'+item.DATE_FORMAT(beginn, '%d.%m.%Y')+'

有人知道解决方案吗?

提前非常感谢: - )

1 个答案:

答案 0 :(得分:2)

你没有准备好你的json字符串,所以你有:

{"sommer":[{"event_name":"testevent","DATE_FORMAT (beginn, '%d.%m.%Y')":"28.01.2015","DATE_FORMAT (ende, '%d.%m.%Y')":"30.01.2015"}]}

表示您的媒体资源名称为"DATE_FORMAT (ende, '%d.%m.%Y')"

但在您的js代码中,您试图获得:

item.beginn毫无意义。

所以我的建议是将你的json字符串(我想在php端的某处)改为:

{"sommer":[{"event_name":"testevent","beginn":"28.01.2015","ende":"30.01.2015"}]}

如果我看到你这样做的方式,你可以在sql查询中做到这一点:

mysql_query("SELECT event_name, DATE_FORMAT(beginn,'%d.%m.%Y') as beginn, DATE_FORMAT(ende,'%d.%m.%Y') as ende FROM party WHERE ende >= CURDATE()ORDER BY beginn ASC");

我认为你将能够更轻松地修复你的js。