En la última versión (2.15.1), parseZone () parece no funcionar correctamente cuando el desplazamiento es utc.
moment.parseZone ('2016-05-04T00: 00: 00Z'). format ()
=> "2016-05-04T08: 00: 00Z" malo
moment.parseZone ('2016-05-04T00: 00: 00 + 08: 00'). format ()
=> "2016-05-04T00: 00: 00 + 08: 00" bueno
El método fue bueno en 2.14.1, recientemente actualicé moment.js a 2.15.1 y la nueva versión falló en mi caso de prueba.
Sí. Eso está mal. Quizás veré si no puedo abordar eso esta noche, creo que sé dónde sucedió.
Para su información, este error se introdujo en la solución para # 3083, b2ee2d444282fcb90abfd43fe562253c73e14b08
¿Está esto quizás relacionado? También probé con 2.15.1:
t = moment().toISOString();
console.log(t.toString());
parsed = moment.parseZone(t);
console.log(parsed.toISOString());
Salidas:
2016-10-14T15:33:37.457Z
2016-10-14T17:33:37.457Z
Mi hora local es "Europa / Viena" y, por lo tanto, sé de dónde proviene probablemente la diferencia de 2 horas, pero no veo por qué debería hacerlo.
Con 2.14.1 obtengo el resultado esperado:
2016-10-14T15:36:23.956Z
2016-10-14T15:36:23.956Z
PR maneja el problema que creo - # 3504 - Por favor, avíseme si está completamente mal. @maggiepint
Puedo confirmar que soluciona mi problema desde https://github.com/moment/moment/issues/3463#issuecomment -253836488
Comentario más útil
3504 acaba de recibir la etiqueta de corrección de errores w00t!