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

393
Visualizações
¿Cómo puedo calcular las horas de diferencia entre dos zonas horarias en nodeJS?

¿Cómo puedo calcular la diferencia entre UTC (que genero con new Date()) y la hora estándar europea?

Algo como

 const amsterdam = new Date('Europe/Amsterdam') amsterdam.getTimezoneOffset() // returns the minutes of offset in this case 60

¡No puedo simplemente usar 1 hora ya que el tiempo cambia en invierno y verano! :(

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

0

Puede obtener el desplazamiento para una ubicación en particular para cualquier fecha usando Intl.DateTimeFormat con opciones adecuadas, por ejemplo

 /* @param {string} loc - IANA representative location * @param {Date} date - default to current date * @returns {string} offset as ±H[mm] */ function getOffsetForLoc(loc, date = new Date()) { // Use Intl.DateTimeFormat to get offset let opts = {hour: 'numeric', timeZone: loc, timeZoneName:'short'}; let getOffset = lang => new Intl.DateTimeFormat(lang, opts) .formatToParts(date) .reduce((acc, part) => { acc[part.type] = part.value; return acc; }, {}).timeZoneName; let offset = getOffset('en'); // If offset is an abbreviation, change language if (!/^UCT|GMT/.test(offset)) { offset = getOffset('fr'); } // Remove GMT/UTC return offset.substring(3); } // Get current offsets for following locations ['Europe/Amsterdam', 'America/New_York', 'Asia/Kolkata'] .forEach(loc => console.log(`${loc} : ${getOffsetForLoc(loc)}`)); // Get offsets in Amsterdam [new Date(2021,0), // 1 Jan 2021 new Date(2021,5) // 1 Jun 2021 ].forEach(d => console.log(`Offset for Amsterdam on ${d.toLocaleDateString()} ${getOffsetForLoc('Europe/Amsterdam', d)}`));

about 4 years ago · Juan Pablo Isaza Relatório

0

Lo que finalmente terminé haciendo y funcionó perfectamente para mí fue lo siguiente

 const timezoneOffsetInHours = moment().tz('Europe/Amsterdam').hour() - new Date().getHours()

Esto devuelve las horas que Amsterdam está por delante de UTC.

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