使用'moment.js'将自定义日期戳添加到node.js

时间:2018-01-04 18:12:10

标签: javascript html node.js mongodb momentjs

如何正确使用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"

3 个答案:

答案 0 :(得分:1)

假设您从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/

答案 1 :(得分:0)

您有两种选择。

从您的ejs文件中访问momentjs然后只需执行:

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

在将数据传递给ejs之前,将格式设置为日期。

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

答案 2 :(得分:0)

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

&#13;
&#13;
app.locals.moment = require("moment");
&#13;
&#13;
&#13;

在app.js文件中

然后使用:

&#13;
&#13;
<span><%= moment(blog.created).fromNow() %></span>
&#13;
&#13;
&#13;

其中给出了以下渲染结果:

enter image description here