/ / Moment.js utilizando la manipulación (agregar / sub) devuelve el TZ incorrecto - javascript, momentjs

Moment.js utilizando la manipulación (agregar / sub) devuelve el TZ incorrecto - javascript, momentjs

Mi problema fue muy similar a este hilo: Moment.js difiere entre fechas UTC y veo que el error fue arreglado (hace 2 años ha https://github.com/moment/moment/issues/261 )

Experimento un problema extraño y similar cuando uso la versión 2.5.1 de "moment.js" y la versión 0.0.2 de "moment-timezones.js"

var now  = moment.tz("2014-03-20 12:00", "EST5EDT"); // date & a pre-defined TZ
console.log(now.format());  // 2014-03-20T12:00:00-04:00

Se encontró un problema al usar este orden:

now.utc()                   // Converting to UTC
console.log(now.format());  // 2014-03-20T16:00:00+00:00

now.subtract("days", 3);    // Subtract
console.log(now.format());  // 2014-03-17T16:00:00-04:00

Problema: la TZ original (-04: 00) se asignó repentinamente después de "restar"

Pasó por alto el problema primero "restando" ing "now" y luego convirtiéndolo a UTC

console.log(now.format());  // 2014-03-20T12:00:00-04:00
now.subtract("days", 3);    // Subtract
console.log(now.format());  // 2014-03-17T12:00:00-04:00

now.utc()                   // Converting to UTC
console.log(now.format());  // 2014-03-17T16:00:00+00:00

¿Es esto un error o estoy usando moment () de manera incorrecta?

Respuestas

0 para la respuesta № 1

Esto podría funcionar!

moment("2014-03-20 12:00").subtract("days", 3).tz("EST5EDT").format()