我有json对象如下:
var data = [{
Id: '1285465',
City: 'Singapore',
Date: '2014-01-29 17:30:00.0'
}, {
Id: '1284429',
City: 'Kuala Lumpur',
Date: '2014-01-29 19:00:00.0'
}]
我已将其发送到视图但在发送之前我想以2014-01-29格式更改日期。我该怎么做?
data.forEach(function(item){
moment(item.Date).format("YYYY-MM-DD"); //switched to moment
});
我正在使用express node.js
答案 0 :(得分:0)
你可以使用Moment.js
:http://momentjs.com/(起初看起来似乎太多了,但这个图书馆可以在很多场合帮助你)
在您的示例中,要将日期格式化为正确的格式,您可以使用:
moment(item.Date).format("YYYY-MM-DD");
要安装Moment.js,只需使用:npm install --save moment
但是,我认为在最后一刻(Ohohoh)调整你的日期到显示格式可能是一个好习惯。我的意思是,在你的模板中。 您选择了什么模板系统?
编辑:
至于您的迭代问题,forEach
方法不会对您的对象进行任何更改。您最好使用map
并返回修改后的对象。
if (trips) {
trips = trips.map(function(item){
item.dateTime = moment(item.dateTime).format("YYYY-MM-DD")
return item;
});
}
res.json(trips);
答案 1 :(得分:0)
问题已经解决。
data.map(function(item){
item.Date = moment(item.Date).format("YYYY-MM-DD");
return date;
});
这是正确的方法,如上所述。我遇到了问题,因为我引用了其他内容。
答案 2 :(得分:0)
当您解析JSON时(您没有在应用中显示该代码),您可以使用reviver
参数将字符串转换为日期。