Как отформатировать дату во внедренной

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"
        });
    });
});

user.html

<% data.forEach(function(user){ %>
    <tr>
        <td>
            <%= user.date %>
        </td>
    </tr>
<% }) %>

выходной 2014-12-24T09:47:07.436Z

это значение исходит от mongodb. Я хочу отформатировать это к 24 декабря 2014 года. Как отформатировать его во внедренной.

1 ответ

Решение

Ты можешь использовать toDateString() чтобы лучше отформатировать дату в JavaScript:

<% data.forEach(function(user){ %>
    <tr>
        <td>
            <%= user.date.toDateString() %>
        </td>
    </tr>
<% }) %>

Если вы хотите отобразить дату в произвольном формате, вы можете использовать сторонний модуль, такой как 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
        });
    });
}); 

user.html

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

Надеюсь, это поможет!

Другие вопросы по тегам