Saltar al contenido

La tubería de fecha angular 4 muestra una fecha incorrecta debido a las zonas horarias: ¿cómo solucionar esto?

Este equipo especializado pasados varios días de trabajo y de juntar de información, hallamos la respuesta, queremos que te resulte útil para tu trabajo.

Solución:

Entre bastidores, DatePipe usa la configuración regional para mostrar la fecha en la zona horaria del usuario. Prueba con clientela datos de la zona horaria:

1931-05-31T00:00:00.000-0300 en vez de 1931-05-31T00:00:00.000+0000.

Puede obtener la compensación del cliente en minutos usando (new Date()).getTimezoneOffset()

Este es en realidad el problema/limitación conocido de DatePipe. La comunidad es consciente de ello. En el futuro, podrá especificar la zona horaria como uno de los parámetros ( value ).

Aquí está el problema en github: https://github.com/angular/angular/issues/9324

Para manipulaciones de fechas más avanzadas, recomiendo moment.js (menos dolores de cabeza, mejor consistencia, menos pruebas, mantenimiento más simple).

EDITAR: Se ha añadido:

date_expression | date[:format[:timezone[:locale]]]

Código: https://github.com/angular/angular/blob/5.0.4/packages/common/src/pipes/date_pipe.ts#L137 Documentos: https://angular.io/api/common/DatePipe

para angular 5 y superior, puede intentar agregar la zona horaria en la tubería,

Por defecto, toma la zona horaria local de la máquina del usuario

y puede especificarlo en minutos, por ejemplo, para GMT-2, zona horaria: ‘-120’

 date: 'short' : '-120'

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *