#html #datetime #mongoose-schema
#HTML #datetime #mongoose-схема
Вопрос:
Я новичок в веб-разработке.
моя проблема в том, как отобразить в html дату в простом формате dd / mm / yy вместо Fri Sep 01 2000 00:00:00 GMT 0300 (дневное время Израиля)
Я пытаюсь создать crud api с помощью mongoose.
У меня есть модель схемы, один из файлов — файл типа date:
joinDate: {type: Date, required: true}
в контроллере: post- program.joinDate= req.body.joinDate;
get-
Program.find((err, docs) => {
res.render("program/list", {
list: docs
});
});
в представлении: <td>{{this.joinDate}}</td>
Мой вопрос: простой и быстрый способ преобразовать формат long в формат short и cleraly. Я видел некоторые решения, но я думаю, что они слишком сложны и устарели.
Если у вас есть какие-либо идеи для меня, я был бы рад:) спасибо!
Комментарии:
1. вы используете Angular?
2. Нет. Я использую страницы .hbs с node.js мангуст
Ответ №1:
Я часто использую mongoose virtual moments для этого.
eventSchema.virtual('joinDate_formatted').get(function () {
return moment(joinDate).calendar({
sameDay: 'h:mm A',
nextDay: '[Tomorrow] h:mm A',
nextWeek: 'dddd',
lastDay: '[Yesterday] h:mm A',
lastWeek: '[Last] dddd',
sameElse: 'DD/MM/YYYY h:mm A'
}); //Above shows in calendar format but u can do whatever u want in moment
});
Когда вы сделаете какой-либо поиск в коллекции, вы получите joinDate_formatted, который вы можете использовать в своем интерфейсе.
Комментарии:
1. Это зависит от того, что вы делаете. Например. Я создаю виртуальный, потому что я использую его для рендеринга на своем веб-сайте и в своих мобильных приложениях. В коллекции он по-прежнему остается в формате даты mongoose. Если у вас есть, например, дата создания, дата обновления, дата присоединения, конечно, вам нужно будет иметь 3 разных виртуальных.
2. в то же время, пожалуйста, посмотрите на mongoose-lean-virtual, вам очень скоро понадобится установить его при использовании. запросы lean().