如何格式化embeddedjs中的日期

Niv*_*vin 4 ejs mongodb express embedded-javascript

app.js

app.get('/user.html', function(req, res){
    dbConnect.collection("users").find().toArray(function(err, docsData) {
        res.render('user', {
            data: docsData,
            title: "EJS example",
            header: "Some users"
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

user.html

<% data.forEach(function(user){ %>
    <tr>
        <td>
            <%= user.date %>
        </td>
    </tr>
<% }) %>
Run Code Online (Sandbox Code Playgroud)

产量为2014-12-24T09:47:07.436Z

这是来自mongodb的价值.我想将其格式化为Dec-24-2014.如何在embeddedjs中格式化它.

Jea*_*AFY 10

您可以使用toDateString()以更好地格式化JavaScript中的日期:

<% data.forEach(function(user){ %>
    <tr>
        <td>
            <%= user.date.toDateString() %>
        </td>
    </tr>
<% }) %>
Run Code Online (Sandbox Code Playgroud)

如果要以自定义格式显示日期,可以使用Moment.js等第三方模块.使用Moment.js您的代码将如下所示:

app.js

var moment = require('moment');
app.get('/user.html', function(req, res){
    dbConnect.collection("users").find().toArray(function(err, docsData) {
        res.render('user', {
            data: docsData,
            title: "EJS example",
            header: "Some users",
            moment: moment
        });
    });
}); 
Run Code Online (Sandbox Code Playgroud)

user.html

<% data.forEach(function(user){ %>
    <tr>
        <td>
            <%= moment(user.date).format( 'MMM-DD-YYYY') %>
       </td>
    </tr>
<% }) %> 
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!