如何在流星模板中格式化日期

I'm*_*hin 32 handlebars.js meteor

我需要以"mm-dd-yyyy"格式显示数据库中的日期.由于它以ISO格式保存,mongodb我如何在模板中转换它?这是我的代码.

       Template.templatename.vname = function () {      
        return Posts.find(); 
        }
Run Code Online (Sandbox Code Playgroud)

并在模板中

{{#each vname}}
    {{ date }} 
{{/each}}
Run Code Online (Sandbox Code Playgroud)

现在它显示为 Tue Feb 04 2014 00:00:00 GMT+0530 (IST)

我需要把它表现为 mm-dd-yyyy

Dav*_*don 71

您可能想要创建一个全局帮助器,如:

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

然后你就可以使用它:

{{#each vname}}
  {{formatDate date}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

此解决方案取决于时刻,这是一个方便的日期操作库.如果你更喜欢不使用片刻而产生字符串,那么有很多答案,包括这个答案.

  • 如果你想像我一样在每个模板中设置日期的自定义格式,你可以做类似这样的事情`Template.registerHelper('timeFormat',function(date,format){return moment(date).format(format) ;});`然后在模板中:`{{timeFormat datetime"MM.DD/H:mm"}}` (4认同)

小智 6

时刻是一个问候lib

meteor add momentjs:moment
Run Code Online (Sandbox Code Playgroud)

在助手中使用时刻

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

    })
Run Code Online (Sandbox Code Playgroud)