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

155
Visualizações
Obtener la diferencia entre 2 marcas de tiempo - javascript

Estoy tratando de obtener la diferencia entre 2 marcas de tiempo.

Tengo una matriz con marcas de tiempo guardadas y cuando las recorro, trato de obtener la diferencia entre entonces y ahora, pero se registra como "sent:", "Hours - 0 - Minutes 0 - Seconds - 0" y me preguntaba si alguien supiera porque?

 let messages = [{ username: "test one", message: "testing one", time: new Date() }, { username: "test two", message: "testing two", time: new Date() }]; const duration = (difference) => { let secondsInMiliseconds = 1000, minutesInMiliseconds = 60 * secondsInMiliseconds, hoursInMiliseconds = 60 * minutesInMiliseconds; let differenceInHours = difference / hoursInMiliseconds, differenceInMinutes = differenceInHours % 1 * 60, differenceInSeconds = differenceInMinutes % 1 * 60; return { "hours": Math.floor(differenceInHours), "minutes": Math.floor(differenceInMinutes), "seconds": Math.floor(differenceInSeconds) } }; console.log("Wait One minute befor logging / loop"); setTimeout(() => { for (let i = 0; i < messages.length; i++) { let now = new Date(); let time = duration(now - messages[i].time); let sent = `Hours - ${time.hours} - Minutes ${time.hours} - Seconds - ${time.hours}`; console.log("sent:", sent); } }, 30000);

Lo siento si mi inglés no es bueno.

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

0

Como se mencionó en los comentarios, parece haber cierta confusión sobre la prioridad del operador de módulo y luego está el error sobre el uso de time.hour tres veces. Aquí hay una versión fija, simplificada y abreviada. Dado que las variables declaradas en la duration solo se usan una vez, y dado que es una función simple, me tomé la libertad de alinear el cálculo.

 let messages = [{ username: "test one", message: "testing one", time: new Date() }, { username: "test two", message: "testing two", time: new Date() }]; const duration = (difference) => { return { hours: Math.floor(difference / (1000 * 60 * 60)), minutes: Math.floor((difference / (1000 * 60)) % 60), seconds: Math.floor((difference / 1000) % 60) } }; console.log("Wait One minute befor logging / loop"); setTimeout(() => { for (let i = 0; i < messages.length; i++) { let now = new Date(); let time = duration(now - messages[i].time); let sent = `Hours - ${time.hours} - Minutes ${time.minutes} - Seconds - ${time.seconds}`; console.log("sent:", sent); } }, 30000);
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