Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

84
Visualizações
Cómo mostrar las horas en diferentes zonas horarias utilizando el valor de compensación

Estoy tratando de mostrar el momento actual en diferentes zonas horarias. Intenté usar javascript nativo y el paquete moment-js, pero parece que necesita el nombre de la zona horaria (por ejemplo, "América/Toronto") para mostrar la información que quiero. El problema es que la información que tengo actualmente es la marca de tiempo en formato de cadena (consulte a continuación el formato de cadena) de la zona horaria deseada y la ciudad a la que pertenece la marca de tiempo. El problema de usar la ciudad para crear mi valor tz es que una de las ciudades que quiero mostrar no está en la base de datos tz de la IANA (Calgary).

Marca de tiempo de cadena:

2022-04-26T14:19:42.8430964-04:00

Como se puede ver, tengo la compensación de tiempo y esperaba que hubiera una manera de convertir esta cadena en js en un objeto de Fecha y luego mostrar la hora usando la compensación en la zona horaria correcta.

Tenga en cuenta que lo que quiero mostrar es el siguiente formato:

12:19 p. m. MT

Sé que podría analizar la cadena, pero siento que esta no es la mejor práctica, sin embargo, puedo estar equivocado.

También tenga en cuenta que tendré que obtener la zona horaria (por ejemplo, MT, ET, también puede ser MST, EST) usando el desplazamiento.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

no necesitas momento aquí. JS puede hacer esto de forma nativa. Además, el momento ahora está en desuso .

Su zona horaria IANA es America/Edmonton . Así que es simple de hacer. Ese formato de fecha es un formato de fecha ISO 8601, por lo que puede pasarlo al new Date y lo analizará correctamente:

 const iso8601 = '2022-04-26T14:19:42.8430964-04:00'; const date = new Date(iso8601); console.log(date.toLocaleString('en-US', { timeZone: 'America/Edmonton' }));

No importa en qué zona horaria esté configurada la fecha de entrada, siempre que tenga el desplazamiento correcto en la fecha ISO. Una vez que es una Date , el desplazamiento es irrelevante. P.ej:

 const iso8601 = '2022-04-26T14:19:42.8430964Z'; const date = new Date(iso8601); //time will now be 4 hours off above as the input date is UTC console.log(date.toLocaleString('en-US', { timeZone: 'America/Edmonton' }));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda