3

可能重复:
在 Javascript 中将日期转换为字符串

我在客户端有 json 格式的日期:

/Date(1352745000000)/

我试图解析 Json 日期的代码:

eval(dateTime.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));

new Date(parseInt(dateTime.substr(6)));

输出我得到:

Tue Nov 27 2012 00:00:00 GMT+0530 (India Standard Time)

愿望输出

 2012-11-27 11:16

我无法弄清楚我们将如何得到这个。

4

3 回答 3

7
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(); 
于 2012-11-25T09:55:31.040 回答
5

最好不要尝试用这个来节省空间:)

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 );
}
于 2012-11-25T10:22:03.870 回答
0

您得到的输出不是字符串 - 您得到的是Dateobject的字符串表示形式。

在进一步处理之前,您需要以适当的方式对其进行格式化。要了解如何做到这一点,只需查看以下答案:https ://stackoverflow.com/a/8398929/548696

要为日期添加时间,请参阅 Date JS 对象的文档:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

于 2012-11-25T09:55:27.733 回答