Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

158
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!