通过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 );
}