【问题标题】:How to change date format in nodejs如何在nodejs中更改日期格式
【发布时间】:2020-05-18 07:30:27
【问题描述】:

您好,我正在使用 nodejs、ejs 在前端显示来自 db 的日期,但它的显示如下:

但我希望它只显示02.02.2020

ejs 代码:

<p style="font-size: 25px; font-weight: bold;"><%= meeting.date %></p>

控制器代码:

var renderListOfMeetings = async function(req, res) {
    try {
        checkRoles(req);
        const meetings = await Meeting.find({});
        res.render('meeting', {
            title: 'Meetings',
            pdfUrl: config.pdfUrl,
            isAdmin: req.roleAdmin,
            sectionBCommittee: [],
            meetings: meetings
        });
    } catch (ex) {
        console.log(ex.message);
    }
};

【问题讨论】:

    标签: jquery node.js mongodb express ejs


    【解决方案1】:

    ?‍? 你可以在你的控制器代码上创建这个函数:?

    function convertDate(d) {
      const date = new Date(d);
      const year = date.getFullYear();
      let month = date.getMonth();
      month = parseInt(month) < 10 ? `0${month}` : month;
    
      let day = date.getDate();
      day = parseInt(day) < 10 ? `0${day}` : day;
      return day + "." + month + "." + year;
    }
    

    ? 你可以随意更改函数名

    之后,您可以在renderMeetingLists 中传递该函数,因此代码如下所示:

    var renderListOfMeetings = async function (req, res) {
      try {
        checkRoles(req);
        const meetings = await Meeting.find({});
        res.render('meeting', {
            title: 'Meetings',
            pdfUrl : config.pdfUrl,
            isAdmin : req.roleAdmin,
            sectionBCommittee: [],
            meetings: meetings,
            // your convert date function
            convertDate: convertDate
        });
      }catch(ex) {
        console.log(ex.message);
      }
    }; 
    

    ? 更新:因此您的最终js 代码将如下面的代码所示

    function convertDate(d) {
      const date = new Date(d);
      const year = date.getFullYear();
      let month = date.getMonth();
      month = parseInt(month) < 10 ? `0${month}` : month;
    
      let day = date.getDate();
      day = parseInt(day) < 10 ? `0${day}` : day;
      return day + "." + month + "." + year;
    }
    
    var renderListOfMeetings = async function (req, res) {
      try {
        checkRoles(req);
        const meetings = await Meeting.find({});
        res.render('meeting', {
            title: 'Meetings',
            pdfUrl : config.pdfUrl,
            isAdmin : req.roleAdmin,
            sectionBCommittee: [],
            meetings: meetings,
            // your convert date function
            convertDate: convertDate
        });
      }catch(ex) {
        console.log(ex.message);
      }
    }; 
    

    在您传递了您的convertDate 之后,现在您可以在您的ejs 中使用它。它看起来像下面的代码:?

    <p style="font-size: 25px; font-weight: bold;"><%= convertDate(meeting.date) %></p>
    

    希望对你有帮助?。

    【讨论】:

    • function convertDate(d) { ^^^^^^^^ SyntaxError: Unexpected token function paste.ofcode.org/MfKWxVgnrwczPxLmCXapSJ
    • 这就是为什么它是错误的,因为你把你的功能放在那里。在我上面的示例代码中,它看起来不像。我已经更新了最终结果,你可以看看。
    • \meeting.ejs:225 223|

      >> 225|

      226|

      即将推出

      227|
      228|
      convertDate 没有定义
  • 请阅读我的评论,确保它是一样的。如果相同就没有错误。您在 js 中传递的函数名称,然后您在 ejs 中使用它。
  • 它相同但实际上功能中的颜色是暗淡的你可以看到ibb.co/w76Dv3pibb.co/vzHV5SH
  • 猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 2019-01-09
    • 2021-06-07
    • 2015-08-26
    • 2017-11-08
    • 2011-11-11
    相关资源
    最近更新 更多