Как отформатировать дату в шаблоне meteor


Мне нужно вывести дату из базы данных в формате '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

3 31

3 ответа:

Вы можете создать глобальный помощник, например:

Template.registerHelper('formatDate', function(date) {
  return moment(date).format('MM-DD-YYYY');
});

Тогда вы можете использовать его как:

{{#each vname}}
  {{formatDate date}}
{{/each}}

Это решение зависит от момента, который является удобной библиотекой манипулирования датой. Если вы предпочитаете производить строку без использования момента, есть несколько ответов для этого, включая Этот .

Момент-это приветствие 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");
        }
    },

    })

Вот решение, которое работает в Meteor без какой-либо зависимости от другого пакета:

// global helper
Template.registerHelper('formatDate', function(date) {
    return monthNames[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();
});

Это вернет строку даты в формате "11 декабря 2015". Двигайся вокруг getMonth(), getDate() и getFullYear() для вашего предпочтительного формата. Дополнительные параметры форматирования см. В разделе другие методы объектаDate .