Как отформатировать дату в шаблоне метеор
Мне нужно отобразить дату из базы данных в формате "mm-dd-yyyy". Как его сохранить в формате ISO в mongodb
как я могу преобразовать его в шаблон? Вот мой код.
Template.templatename.vname = function () {
return Posts.find();
}
И в шаблоне
{{#each vname}}
{{ date }}
{{/each}}
Теперь его получение отображается как Tue Feb 04 2014 00:00:00 GMT+0530 (IST)
Мне нужно показать это как mm-dd-yyyy
Ответы
Ответ 1
Вы можете создать глобальный помощник, например:
Template.registerHelper('formatDate', function(date) {
return moment(date).format('MM-DD-YYYY');
});
Затем вы можете использовать его так:
{{#each vname}}
{{formatDate date}}
{{/each}}
Это решение зависит от момента, который является удобной библиотекой манипулирования датами. Если вы предпочитаете создавать строку без использования моментов, для этого есть ряд ответов, включая этот.
Ответ 2
момент - приветствие lib
meteor add momentjs:moment
использовать момент в помощнике
Template.home.helpers({
momentFormate: function(time) {
if ((moment().unix() - moment(time).unix()) < 3600) {
return moment(time).fromNow();
} else {
return moment(time).format("YYYY-MM-DD HH:mm");
}
},
})
Ответ 3
Вот решение, которое работает в Meteor без какой-либо зависимости от другого пакета:
// global helper
Template.registerHelper('formatDate', function(date) {
return monthNames[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();
});
Это вернет строку даты, отформатированную как "11 декабря 2015 года". Перемещение по getMonth()
, getDate()
и getFullYear()
для вашего предпочтительного формата. Для получения дополнительных параметров форматирования проверьте другие методы объекта Date.