Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
Problema de conversión de fecha de zona horaria de Moment js

Estoy usando moment js para convertir la hora del sistema del usuario a la zona horaria especificada por el usuario según su preferencia. La zona horaria del sistema del usuario es IST y está especificando una zona horaria diferente. Para configurar lo mismo que estoy usando

 moment.tz.setDefault("Pacific/Pago_Pago");

Pero en uno de los escenarios obtengo fechas diferentes. Si lo hago

moment().startOf('day')

Recibo la fecha de hoy como jueves 28 de octubre de 2021 00:00:00 GMT+0530 (hora estándar de la India) , pero si lo estoy haciendo

 moment(endDate).startOf('day')

Recibo el jueves 27 de octubre de 2021 00:00:00 GMT+0530 (hora estándar de India) Donde la fecha de finalización es el resultado de la última declaración, es decir, el jueves 28 de octubre de 2021 00:00:00 GMT+0530 (hora estándar de India)

Lo que estoy haciendo mal aquí.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La zona horaria utilizada cuando se crea un objeto de momento permanece como parte del objeto y se utiliza para el procesamiento posterior. El efecto descrito ocurrirá si se cambia la zona horaria predeterminada después de que se crea el objeto de momento inicial.

P.ej

 // Set default to IST (+5:30) moment.tz.setDefault('Asia/Kolkata'); // Create initial moment using default timezone let start = moment().startOf('day'); // Changing the default here doesn't affect above moment moment.tz.setDefault('Pacific/Pago_Pago'); // This still uses the initial +5:30 offset, not -11:00 for Pago Pago let timestamp = start.toString(); // This uses the timestamp for the original timezone, but // then gets start of day in new default timezone let end = moment(timestamp).startOf('day'); console.log( `Start: ${start.toString()}\nEnd : ${end.toString()}` );
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.31/moment-timezone-with-data-10-year-range.js"></script>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda