通过Javascript或Jquery在客户端格式化JSON日期时间
可能重复:通过Javascript或Jquery在客户端格式化JSON日期时间,javascript,jquery,json,Javascript,Jquery,Json,可能重复: 我在客户端有json格式的日期: /Date(1352745000000)/ 我尝试解析Json日期的代码: eval(dateTime.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")); 及 我得到了: Tue Nov 27 2012 00:00:00 GMT+0530 (India Standard Time) 渴望输出 2012-11-27 11:16 我不知道我们将如何得到这个结果。您得到的输出不是字符串-您得到的是字
我在客户端有json格式的日期:
/Date(1352745000000)/
我尝试解析Json日期的代码:
eval(dateTime.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
及
我得到了:
Tue Nov 27 2012 00:00:00 GMT+0530 (India Standard Time)
渴望输出
2012-11-27 11:16
我不知道我们将如何得到这个结果。您得到的输出不是字符串-您得到的是字符串表示 在进一步处理之前,您需要以适当的方式对其进行格式化。要了解如何做到这一点,请查看以下答案:
要为日期添加时间,请参阅date JS对象的文档:最好不要尝试使用此对象来节省空间:)
该
eval
是完全不必要的,而且是不正确的。@Asad:它工作得很好,错误,getMonth()不是那样工作的-它给出了一个月的零基数。另外,您还需要将小时和分钟填充为well@Bruno不确定是否需要这样做,但也会以完全相同的方式进行。顺便说一句,感谢编辑Riatechethankyou@AsadSaeeduddin,与meWorks合作非常好…在另一个函数中添加了所有这些,例如:FormateJsonDate(_DateToFormat){
2012-11-27 11:16
var date = new Date(parseInt(dateTime.substr(6)));
var formatted = date.getFullYear() + "-" +
("0" + (date.getMonth() + 1)).slice(-2) + "-" +
("0" + date.getDate()).slice(-2) + " " + date.getHours() + ":" +
date.getMinutes();
var str, year, month, day, hour, minute, d, finalDate;
str = "/Date(1352745000000)/".replace(/\D/g, "");
d = new Date( parseInt( str ) );
year = d.getFullYear();
month = pad( d.getMonth() + 1 );
day = pad( d.getDate() );
hour = pad( d.getHours() );
minutes = pad( d.getMinutes() );
finalDate = year + "-" + month + "-" + day + " " + hour + ":" + minutes;
function pad( num ) {
num = "0" + num;
return num.slice( -2 );
}