Javascript 在node.js中使用具有返回值的函数
我尝试使用extern模块中的函数来创建日期 helper.jsJavascript 在node.js中使用具有返回值的函数,javascript,node.js,Javascript,Node.js,我尝试使用extern模块中的函数来创建日期 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
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,
};
但它返回的不是dd/mm/yyyy格式的日期,而是2018-02-05T23:00:00.000Z格式的日期
格式有误,时间也有误……我怎样才能解决这个问题呢?因此,据我所知,在将日期插入数据库之前,您不需要格式化日期,而实际需要的是在返回响应时格式化日期。下面是对代码的一点调整: 更改
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;
}
最后,在发送结果之前,请执行以下操作
if (result) {
result.createdAt = helper.f1(result.createdAt);
res.json(result)
}
createdAt
是数据库字段吗?哪种类型的?函数运行良好--具体在哪里可以看到这种格式的日期?你用的是什么数据库映射器?它是否自动创建自己的createdAt
?不相关,但在我看来,你最好使用一个实际的时间戳。好多了。@u_mulder谢谢!类型错误,是日期类型,但我需要字符串
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)
}