我想要一个简单的YYYYMMDD格式,以便可以在有角度的前端上显示它。
在这里,在对日期对象进行操作之后,我想将其分配回结果对象中的TIMESTAMP
列。 TIMESTAMP
被设置为数据库(postgres)中的Date对象。分配了-
时,TIMESTAMP列仍保留newDatex
分隔符。
我什至尝试使用momentjs,但无济于事。
我调查了this,但这无助于解决我的问题。我不希望在数据库中更新格式。我需要对其进行更新,以便可以将更新的格式(YYYYMMDD)
发送到前端。
app.get('/api/:date', (req, res) => {
var date = req.params.date;
Model.findAll({
where: {
TIMESTAMP: {
[Op.eq]: date
}
},
order: [
['SYMBOL', 'ASC']
]
}).then( result => {
if (result != undefined){
let i = 0;
let year = new Date(result[i].TIMESTAMP)
for (i = 0; i < result.length; i++) {
if(result[i].TIMESTAMP != undefined){
let date = year.getDate().toString()
let month = (year.getMonth() + 1).toString()
let newyear = year.getFullYear().toString();
(date.length == 1) && ( date = '0' + date);
(month.length == 1) && (month = '0' + month);
let newDatex = new String();
newDatex = newyear + month + date;
console.log('modified date:', newDatex)
moment(result[i].TIMESTAMP).format("YYYYMMDD");
result[i].TIMESTAMP = new String();
result[i].TIMESTAMP = newDatex;
console.log('should be removing "-" but isn\'t: ',result[i].TIMESTAMP)
}
}
res.json(result)
}
})
});
答案 0 :(得分:0)
我以任何方式将日期输入到新的Date()构造函数中,并按以下格式设置
var d = new Date('05 October 2011 14:48 UTC');
var day = d.getUTCDate();
var month = d.getUTCMonth() + 1;
var year = d.getFullYear();
// Check day for length to format
if (day.length < 2) {day = '0' + day};
console.log(`${year}${month}${day}`);
然后得到了:
也希望您没有在所引用的帖子中得到答案,那个人正在修改内置对象的原型链,这是巨大的禁止。
让我知道这是否对您有用。
也,如果您的数据类型在Postgres中是“日期”,而不是像varchar这样的数据,则在存储时可能会自动为您格式化记录。因此,每次拉动数据时,都可能不得不更改数据类型或重新格式化数据。