【问题标题】:Using 'moment.js' to add custom date stamp to node.js使用“moment.js”将自定义日期戳添加到 node.js
【发布时间】:2018-06-14 12:47:16
【问题描述】:

如何正确使用moment.js?我想使用表单将created 日期保存到 mongoDB?我目前正在使用:

var blogSchema = new mongoose.Schema({
    title: String,
    image: String,
    body: String,
    created: {type: Date, default: Date.now}
});

在博文上显示日期时,我使用以下内容将其转换为更易读的格式:

<span class="inline-block"><%= blog.created.toDateString() %></span>

提交帖子时如何将当前日期显示为"DD-MM-YYYY @ mm:hh"

【问题讨论】:

  • 您使用的是什么模板系统? ejs,也许吧?

标签: javascript html node.js mongodb momentjs


【解决方案1】:

在解释我要做什么时,我认为我不是很清楚。我想用 moment 来转换 .ejs 模板中的日期。解决方案是使用:

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

在 app.js 文件中,然后使用:

&lt;span&gt;&lt;%= moment(blog.created).fromNow() %&gt;&lt;/span&gt;

它给出了以下渲染结果:

【讨论】:

    【解决方案2】:

    你有两个选择。

    从您的 ejs 文件中获取对 momentjs 的访问权限,然后只需执行以下操作:

    <%= moment(yourDateVariable).format('DD-MM-YYYY') %>
    

    在将数据传递给您的 ejs 之前为日期提供格式。

    yourDateVariable = moment(yourDateVariable).format('DD-MM-YYYY');
    return res.render('yourView', {yourDateVariable});
    

    【讨论】:

      【解决方案3】:

      假设你从 mongodb 得到的日期值是时间戳值:

      然后你可以像这样使用moment.js:

      var timeValueFromMongoDB = 1515089852632;
      var result = moment(timeValueFromMongoDB).format('DD-MM-YYYY @ mm:hh');
      
      // Use this output to display wherever you want
      04-01-2018 @ 17:01
      

      Jsfiddle 示例 http://jsfiddle.net/rLjQx/5208/

      【讨论】:

        猜你喜欢
        • 2021-01-06
        • 1970-01-01
        • 2020-02-15
        • 2011-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多