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

250
Vistas
Momento que no se puede convertir en una zona horaria diferente

Mi servidor me devuelve fechas en UTC y quiero convertirlas a la zona horaria del servidor (¡incluso si el navegador del cliente está en una zona horaria diferente!)

Aquí hay un ejemplo, mi servidor está en Europa/Berlín.

 var dateAsString = '2022-04-11T22:00:00.000Z'; // 2022-04-12 00:00:00 in Europe/Berlin var utcDate = moment.utc(dateAsString); console.log(utcDate.format()); var serverTzDate = utcDate.clone().tz('Europe/Berlin'); console.log(serverTzDate.format()); console.log(serverTzDate.format()); var test = moment.utc('2022-04-11T22:00:00.000Z').tz('Europe/Berlin').format(); console.log(test);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.2/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.34/moment-timezone-with-data-10-year-range.js"></script>

Si mi navegador está en la zona horaria de Europa/Berlín, el resultado es correcto:

 2022-04-11T22:00:00Z 2022-04-12T00:00:00+02:00 2022-04-12T00:00:00+02:00

Pero si cambio mi zona horaria (para mi ejemplo tomé Pacific/Niue), entonces el resultado es totalmente incorrecto, supongo que el momento está haciendo algo con la zona horaria del navegador, pero ¿cómo evitarlo? Aquí está la salida:

 2022-04-11T09:00:00Z 2022-04-11T11:00:00+02:00 2022-04-11T11:00:00+02:00

Necesito tener la fecha en la zona horaria del servidor y no en la zona horaria del navegador

Con otra zona horaria: Pacífico/Kiritimati (-840)

 2022-04-12T10:00:00Z // Wanted 2022-04-11T22:00:00Z (UTC Date as entered) 2022-04-12T12:00:00+02:00 // Wanted 2022-04-12T00:00:00Z (Converted in Europe/Berlin) 2022-04-12T12:00:00+02:00 // Wanted 2022-04-12T00:00:00Z (Converted in Europe/Berlin) 2022-04-12T12:00:00+02:00 // Wanted 2022-04-12T00:00:00Z (Converted in Europe/Berlin)

Nuevamente, todas las fechas son incorrectas, ¿el momento parece no poder analizar mi fecha como una fecha UTC? Aplica el desplazamiento de la zona horaria del navegador incluso si estoy usando el método utc

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

0

moment.utc('2022-04-11T22:00:00.000Z').tz('Europe/Berlin').format()

por favor revise este documento. https://momentjs.com/timezone/docs/#/using-timezones/

a continuación está el resultado de mi código, independientemente de la zona horaria que haya cambiado, el resultado es '2022-04-12T00:00:00+02:00' ingrese la descripción de la imagen aquí

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