我希望req.body.date仅显示日期而不是时间和时区

时间:2020-10-07 15:50:42

标签: node.js nodes ejs

我绝对是Nodejs的初学者,我正在创建一个基本的日程表应用程序,以显示带有日期的用户日程表。 我只想显示日期,但是req.body.date显示带有时区和当前时间的完整日期。请帮助我。

this is the output

app.get('/', (req, res)=>{
    TodoTask.find({}, (err,tasks)=>{
        res.render('index.ejs', {todoTask : tasks});
    });

});


app.post('/', async(req, res)=>{
    const todoTask = new TodoTask({
        content : req.body.content,
        date: req.body.date,
    });

    try{
    await  todoTask.save();
        res.redirect('/');
    }
    catch(err){
        res.redirect('/');
    }
});

2 个答案:

答案 0 :(得分:1)

我正在使用此功能,可能会对您https://momentjs.com/

有帮助
npm install moment

const dateFormat = require('moment')

moment(date).format('DD/MMM/YYYY')

答案 1 :(得分:0)

您可以执行与以下操作类似的操作,将日期保存在Wed Oct 07 2020中,但是在Mozilla web doc (Date)上列出了几种格式。这不需要任何额外的npm软件包。只要req.body.date是有效的,那么您就好,否则您将得到Invalid Date

app.post('/', async(req, res)=>{
    let date = new Date(req.body.date);
    const todoTask = new TodoTask({
        content : req.body.content,
        date: date.toDateString()
    });

    try{
    await  todoTask.save();
        res.redirect('/');
    }
    catch(err){
        res.redirect('/');
    }
});