Error con el formato de fechas usando sequelize y angular

publicado por: Anonymous

estoy desarrollando una aplicación en nodejs, angular y mysql. y me pasa que al guardar una fecha en la base de datos con el tipo date y recuperarla con el sequelize me lo regresa de la siguiente forma “1991-04-13T00:00:00.000Z” y al utilizarla en angular con el filtro date {{fecha | date }} me regresa 1991-04-12, he probado incluso con el moment js y me lo regresa de la mismo forma. hay alguna forma de corregir esto?

solución

Lo que puedes hacer es utilizar una función para convertir la fecha a tipo UTC, de la siguiente forma:

var fecha = new Date('1991-04-13T00:00:00.000Z'); 
var fecha_utc = new Date(fecha.getUTCFullYear(), fecha.getUTCMonth(), fecha.getUTCDate(),  fecha.getUTCHours(), fecha.getUTCMinutes(), fecha.getUTCSeconds());

En tu vista bastaría con llamarlo de la siguiente forma:

<div ng-controller="MyCtrl">
 Fecha: {{fecha | date : 'yyyy-MM-dd' }}!
</div>

Acá un ejemplo con JSFiddle http://jsfiddle.net/jfergt/ypua2v2q/

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *