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 № 1Esto podría funcionar!
moment("2014-03-20 12:00").subtract("days", 3).tz("EST5EDT").format()