我尝试使用外部模块中的函数来创建日期
helper.js
function createDate() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
today = dd+'/'+mm+'/'+yyyy;
return today;
}
module.exports = {
f1: createDate,
};
然后在我的server.js的createdAT
行中使用它
let helper = require('./helper.js');
app.post('/tasks', function(req, res) {
let savedata;
console.log(req.body);
let tmpData = [];
for (let i = 0; i < req.body.length; i ++) {
savedata = new Model({
'taskName': req.body[i].taskName,
'isDone': false,
//'createdAt': Date.now(),
'createdAt': helper.f1(),
'prioraty': req.body[i].prioraty
});
tmpData.push(savedata)
}
savedata = tmpData;
Model.collection.insert(savedata, function (err, result) {
if (err) throw err;
if (result) {
res.json(result)
}
})
});
但是它返回给我的不是dd/mm/yyyy格式的日期,而是2018-02-05T23:00:00.000Z格式错误,还有time...How我能解决这个问题吗?
发布于 2018-06-03 04:56:00
因此,据我所知,在将日期插入到数据库之前,您不需要格式化日期,真正需要的是在返回响应时格式化日期。以下是对您的代码进行的一些调整:
更改createDate()
以接受数据库中的日期值
function createDate(dateFromDb) {
var today = new Date(dateFromDb);
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
today = dd+'/'+mm+'/'+yyyy;
return today;
}
然后取消对第一个//'createdAt': Date.now()
的注释
savedata = new Model({
'taskName': req.body[i].taskName,
'isDone': false,
//'createdAt': Date.now(),
'prioraty': req.body[i].prioraty
});
最后,在发送结果之前,请执行以下操作
if (result) {
result.createdAt = helper.f1(result.createdAt);
res.json(result)
}
https://stackoverflow.com/questions/50660923
复制相似问题