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

162
Visualizações
js/jquery calculando la diferencia entre dos valores en el tiempo

Utilizo el siguiente código para calcular la diferencia entre dos números.

 function differenceCalculation(num1, num2) { if (num1 > num2) { return num1 - num2 } else { return num2 - num1 } }

En documento.listo

 var difference = differenceCalculation(visitorTime, firstOption); console.log({difference});

Esto da, por ejemplo, los siguientes valores en la consola:

 visitorTime = 1831 firstOption = 1900 difference = 69

Pero dado que esto debería devolver la diferencia en el tiempo, necesito hacer el cálculo con 60 como límite máximo en lugar de los 100 predeterminados.

Una solución simple sería menos 40 de la diferencia, pero ¿es esta una buena solución?

 var difference = ( differenceCalculation(visitorTime, firstOption) - 40 );
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Parece que desea calcular en tiempo "militar" (como en "a las mil novecientos quince").

Entonces, eso implica convertir ambos indicadores de tiempo a horas y minutos, luego hacer la resta de cada uno (con acarreo si es necesario) y luego volver a convertirlo a tiempo militar:

 const toHourMinute = military => [Math.floor(military / 100), military % 100]; const toMilitary = (hour, minute) => hour*100 + minute; function timeDifference(a, b) { if (a > b) return timeDifference(b, a); let [h1, m1] = toHourMinute(a); let [h2, m2] = toHourMinute(b); if (m2 < m1) { // Deal with a carry over m2 += 60; h2--; } return toMilitary(h2 - h1, m2 - m1); } var visitorTime = 1831 var firstOption = 1900 var difference = timeDifference(visitorTime, firstOption); console.log({difference});

about 4 years ago · Juan Pablo Isaza Relatório

0

Poco después de enviar y responder a los comentarios, descubrí una forma que funcionó para mí. Sin embargo, tenga en cuenta que la pregunta vinculada tiene mejores respuestas. Por eso voté para cerrar esta pregunta.

De todos modos, hice estos cambios en mi código y ahora obtengo el resultado requerido.

 var difference = differenceCalculation(visitorTime, firstOption); if ( difference >= 30 ) { var difference = ( differenceCalculation(visitorTime, firstOption) - 40 ); } console.log({difference});

En la consola:

 visitorTime = 1831 firstOption = 1900 difference = 29

Y si los 2 primeros valores son diferentes:

 visitorTime = 1901 firstOption = 2000 difference = 59
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