visual porque macro larga formulario formato fecha ejecutar dar cambia meteor handlebars.js

porque - Cómo formatear la fecha en la plantilla de meteoritos



porque me cambia el formato de fecha al ejecutar macro (3)

Necesito mostrar una fecha de la base de datos en el formato ''mm-dd-aaaa''. Como está guardado en formato ISO en mongodb ¿cómo puedo convertirlo en la plantilla? Aquí está mi código.

Template.templatename.vname = function () { return Posts.find(); }

Y en plantilla

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

Ahora se muestra como Tue Feb 04 2014 00:00:00 GMT+0530 (IST)

Necesito mostrarlo como mm-dd-yyyy


Aquí hay una solución que funciona en Meteor sin ninguna dependencia de otro paquete:

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

Esto devolverá una cadena de fecha formateada como "11 de diciembre de 2015". Mueva alrededor de getMonth() , getDate() y getFullYear() para su formato preferido. Para obtener más opciones de formato, consulte otros métodos del objeto Date .


Es posible que desee crear un ayudante global como:

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

Entonces puedes usarlo como:

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

Esta solución depende del moment que es una práctica biblioteca de manipulación de fechas. Si prefiere producir la cadena sin usar el momento, hay varias respuestas para esto, incluida esta .


el momento es un saludo lib

meteor add momentjs:moment

usar el momento en ayuda

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