【问题标题】:How can I add the date to my posts in Javascript?如何在 Javascript 中将日期添加到我的帖子中?
【发布时间】:2020-01-17 00:10:24
【问题描述】:

我正在使用 JavaScript、Express 和 ejs 模板制作博客。每篇博客文章都可以发表评论,我希望在每条评论中发布日期。 cmets 的内容是从 .ejs 文件的输入字段中提取的值。现在我正在使用 moment.js,但日期/时间不断更新。我希望它只显示创建评论的日期/时间。

这是我的 app.js 文件中的一些代码:

   moment = require('moment');
   app.locals.moment = moment 

这是我创建评论的途径:

app.post("/comments/:id", (req, res) => {
  Blog.findById(req.params.id, (err, blog) => {
    if (err) {
      console.log("Something went wrong:", err);
    } else {
      console.log("BLOG", blog);
      let newComment = { comment: req.body.comment };
      Comment.create(newComment.comment, (err, comment) => {
        if (err) {
          console.log("Something went wrong:", err);
        } else {
          console.log("Success!  Comment Posted", comment);
          comment.save();
          blog.comments.push(comment);
          blog.save();
          res.redirect("/blog/" + blog._id);
        }
      });
    }
  });
});

从我的 .ejs 文件中:

<em><%= moment(Date()).format(shortDateFormat) %></em>

我认为这应该足以了解它的要点。这可能是一个非常容易解决的问题,但我仍然是一个非常绿色的编码员!

【问题讨论】:

    标签: javascript mongodb express momentjs ejs


    【解决方案1】:

    我假设您使用的是像 Mongo 这样的 noSQL 数据库?我只是将日期放在您的博客文章的架构中,如下所示:

    created_date: {
    type: Date,
    default: Date.now
    }
    

    然后您可以从数据库中调用它并将其传递给您的 ejs 文件。

    【讨论】:

    • 哦,太棒了!我不知道我能做到这一点。是否有关于我可以在我的模式中添加的其他内容的文档?感谢您的帮助!
    • 没问题!我在 Node.js 中将 Mongoose 用于我的 mongo 模式。你可以在这里查看文档mongoosejs.com/docs/guide.html
    • 你不会碰巧知道我如何格式化这个吧>
    • 对于 Date 对象,您可以在这里查看全部内容:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 您也可以使用 Moment.js 逃脱...虽然它可能是矫枉过正,它是唯一的地方你会用的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多