moment.js es una librería completísima para trabajar con fechas en Javascript, que puedes registrar como helper para Ember de modo de facilitar todas la tarea de parsear y formatear fechas desde y hacia distintos formatos.
Ember.Handlebars.registerBoundHelper('fecha', function(stringFecha, options){ // options.hash es un objeto con las opciones var args = Ember.$.extend({ inputFormat: 'M/D/YYYY', outputFormat: 'D MMM YYYY' }, options.hash ); var fecha = moment(stringFecha, args.inputFormat); return fecha.format( args.outputFormat ); });
- El método
Ember.Handelbars.registerBoundHelper()
te permite registrar un helper para propiedades que están ligadas al modelo, de modo que si éste cambia se vuelven a calcular. - La función que registra el helper recibe dos argumentos: el valor sobre el cual actúa el helper y un objeto de opciones.
- El uso de
Ember.$.extend()
permite definir parámetros variables y opcionales e indicar sus valores predeterminados.
Uso:
// de forma normal, la propiedad post_published va a estar ligada al modelo {{fecha post_published outputFormat="YYYY/MM/DD"}} // también puedes usarlo de esta forma para que no cambie al cambiar los datos {{unbound fecha post_published}}