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

170
Vistas
Problema de conversión de zona horaria de fecha y hora en Typescript

Elegí una fecha de matDatePIcker en angular y la pasé a la aplicación en la nube. Pero el DateTime luego se convierte en función de la zona horaria antes de pasar a la API. Esto conduce a la creación de discrepancias de fechas cuando la función de la nube realiza cálculos de fechas con los datos recibidos.

Por ejemplo: estoy eligiendo la fecha como "2022-01-07" y luego encadenándola y pasándola a la API para que se convierta con la zona horaria local (la mía es 'Asia/Kolkata') y solo la estaba recibiendo como "2022-01-06T18:30:00.000Z" . Quiero convertir esto con la fecha exacta que elige el usuario. Y actualmente, estaba tratando de tomar la local time zone como una entrada adicional y luego necesitaba convertirla a una fecha de hora particular. Pero la zona horaria dada no es directamente convertible en base a esto.

¿Alguien puede tener alguna sugerencia para resolver esto? Gracias de antemano.

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

0

Puede convertir una fecha dada en una cadena localizada para una zona horaria usando

 new Date([your date].toLocaleString("en", { timeZone: [some timezone] }));

Aquí hay un pequeño ayudante:

 const dt = new Date(`2022/01/09`); document.querySelector(`pre`).textContent = `now in\n \u2713 Kolkata: ${ dateTime4TZ(`Asia/Kolkata`)}\n \u2713 Amsterdam: ${ dateTime4TZ(`Europe/Amsterdam`)}\n \u2713 Tokyo: ${ dateTime4TZ(`Asia/Tokyo`)}\n \u2713 Auckland: ${ dateTime4TZ(`Pacific/Auckland`)}\n\n"2022/01/09" in\n \u2713 Kolkata: ${ dateTime4TZ(`Asia/Kolkata`, dt)}\n \u2713 Amsterdam: ${ dateTime4TZ(`Europe/Amsterdam`, dt)}\n \u2713 Tokyo: ${ dateTime4TZ(`Asia/Tokyo`, dt)}\n \u2713 Auckland: ${ dateTime4TZ(`Pacific/Auckland`, dt)}`; function dateTime4TZ(timeZone, dt = new Date) { const pad = (nr, len=2) => `${nr}`.padStart(len, `0`); const localDT = new Date(dt.toLocaleString("en", { timeZone })); return `${localDT.getFullYear()}-${ pad(localDT.getMonth() + 1)}-${ pad(localDT.getDate())}T${ pad(localDT.getHours())}:${ pad(localDT.getMinutes())}:${ pad(localDT.getSeconds())}.${ pad(localDT.getMilliseconds(), 3)}Z`; };
 <pre></pre>

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