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

202
Vistas
¿Cómo convertir una fecha como '2021-06-01T11: 17: 00-07: 00' para obtener la fecha y la hora de una ubicación particular (Nueva Delhi) en javascript?

¿Cómo convertir una fecha como '2021-06-01T11:17:00-07:00' al estándar ISO? ¿Qué es este formato?

 let date = new Date('2021-06-01T11:17:00-07:00'); console.log(date.getHours() + " :" + date.getMinutes());

Debería llegar a las 11:17 pero volveré a las 23:47

Entonces, ¿algo va mal al comprender el formato correcto de la fecha?

Para hacer ingeniería inversa,

Si convierto fecha mi fecha esperada que es "2021-06-01 11:17:00" a IsoString, entonces el valor que obtengo es 2021-06-01T05:47:00.000Z que no es igual a 2021-06-01T11 :17:00-07:00

PD: por los comentarios, supe que este formato está en MST, que está 7 horas por detrás de UTC

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

0

La entrada especifica una zona horaria, por lo que especifica una hora en la que en Salt Lake City son las 11:17. Ese mismo momento corresponde a las 23:47 de Nueva Delhi, que es tu zona horaria.

Entonces, cuando le dice a JavaScript que lea la entrada, sabrá que es una especificación en la hora estándar de la montaña (-07:00) y almacenará la fecha en UTC. Cuando genera la fecha como lo hace, JavaScript usará su configuración regional y la generará como 23:47, que es exactamente el mismo momento que especifica la entrada.

Si desea que la hora salga como 11:17, aparentemente no desea considerar que es una hora local en Salt Lake City, pero ignórela y considere que son las 11:17 en su zona horaria.

En ese caso, debe cambiar la entrada y eliminar la especificación de zona horaria:

 let date = new Date('2021-06-01T11:17:00'); // No time zone specified -> is interpreted as local time console.log(date.getHours() + " :" + date.getMinutes());

Si la cadena de entrada es variable, puede eliminar la zona horaria conservando solo los primeros 19 caracteres de la entrada antes de pasarla al constructor Date .

Pero tenga en cuenta que cuando quita la zona horaria, en realidad cambia la especificación de tiempo en la entrada a una diferente. Ya no es el mismo tiempo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Has intentado usar la clase de fecha de javascript de Vanilla? Debería poder pasar eso al constructor y luego convertirlo al formato deseado. Por ejemplo: const date2 = new Date('1995-12-17T03:24:00');

Consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date

También puede intentar usar la biblioteca Moment en Javascript, aunque muchas personas están tratando de alejarse de esto.

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