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

214
Vistas
Moment.js: fecha inconsistente en diferentes dispositivos

Estoy enfrentando algunos problemas con la visualización de fechas. cuando los usuarios seleccionan una fecha, la estoy formateando así

 new Date(date).toISOString().split('T')[0];

porque este es el formato que espera nuestro backend de django y luego el backend devuelve una fecha como esta:

 2021-09-02

luego estoy formateando la fecha devuelta desde el backend con moment.js:

 moment.utc(new Date(date)).format('MMM DD')

Pero el problema es que cuando selecciono "25 de septiembre" obtengo "25 de septiembre".

Pero algunos de los miembros de mi equipo que están en India seleccionan "25 de septiembre" y obtienen "24 de septiembre".

Si ejecuto new Date('2021-09-02') en mis herramientas de desarrollo.

Me llega Wed Sep 01 2021 17:00:00 GMT-0700 (Pacific Daylight Time)

y obtienen Date Thu Sep 02 2021 05:30:00 GMT+0530 (India Standard Time)

¿Cómo puedo manejar este caso extremo? No estoy seguro si necesito actualizar el formato almacenado en el backend. necesito tus sugerencias

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

0

Este es un problema de zona horaria, y el problema parece ser que le gustaría seleccionar una fecha (25 de septiembre), pero en realidad está seleccionando una hora y luego convirtiéndola en una cadena para representar una fecha.

Cuando su usuario selecciona una fecha, ¿podría hacer que seleccione el día y el mes, en lugar de todo el tiempo?

Editar

Hmm, lo siento, el problema no está en la selección de la fecha, sino en convertir la fecha devuelta por su servidor en una hora. Pero no quieres una hora, solo quieres una cita.

Su servidor está devolviendo una cadena como "2021-09-25" para indicar "25 de septiembre". Podría analizar esta cadena y obtener las partes importantes:

 function displayDayMonth(date) { const [_year, month, day] = date.split("-").map(s => parseInt(s, 10)); const months = ["Jan", "Feb", //... etc ]; return `${months[month - 1]} ${day}`; } const date = "2021-09-25"; displayDayMonth(date); // => "Sep 25"

Por otro lado, ¿qué sucede si el tiempo realmente importa? Si un evento en la hora del Pacífico es el 25 de septiembre, una buena parte de ese evento ocurre el 24 de septiembre en la India. ¿Quizás no está capturando suficientes detalles sobre el evento?

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