Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
javascript agrega duración al tiempo dado

Estoy escribiendo código javascript desde cero que debería agregar tiempo a la hora actual. He declarado tres variables: h - horas, min - minutos, truk - duración (minutos).

 let h = +prompt("Enter current hour: "); let min = +prompt("Enter current minutes: "); let truk = +prompt("Enter duration (minutes): "); let min1 = truk % 60; // We get minutes from duration let h1 = Math.trunc(truk / 60); // We get hours from duration console.log("You have entered: " + "h = " + h + ", " + "min = " + min + ", " + "truk = " + truk); console.log("Result: " + (h + h1) + " : " + (min + min1)); // Don't know how to proceed further with this.

Por ejemplo si ingresamos horas 17 y minutos 35 y duración 20 debe imprimir 17:55

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

 let h = +prompt("Enter current hour: "); let min = +prompt("Enter current minutes: "); let truk = +prompt("Enter duration (minutes): "); let min1 = truk % 60; // We get minutes from duration let h1 = Math.trunc(truk / 60); // We get hours from duration console.log("You have entered: " + "h = " + h + ", " + "min = " + min + ", " + "truk = " + truk); //without if var result1 = new Date(2021, 0, 1, h, min, 00, 000); //set time according to user inputs result1.setMinutes(result1.getMinutes() + truk); //add minutes to set time console.log("Result: " + (result1.getHours()) + " : " + (result1.getMinutes()));

debe verificar si los minutos superan los 60. En caso afirmativo, agregue una hora a las horas existentes. Se debe aplicar la misma lógica si las horas van más allá de las 24. Pruebe esto:

 let h = +prompt("Enter current hour: "); let min = +prompt("Enter current minutes: "); let truk = +prompt("Enter duration (minutes): "); let min1 = truk % 60; // We get minutes from duration let h1 = Math.trunc(truk / 60); // We get hours from duration console.log("You have entered: " + "h = " + h + ", " + "min = " + min + ", " + "truk = " + truk); let min_final = 0 let hr_final = h if((min + min1) > 60){ min_final = (min + min1) - 60 hr_final = hr_final + 1 } hr_final = hr_final + h1 if(hr_final >= 24){ hr_final = 24 - hr_final } if(hr_final < 10){ hr_final = "0" + hr_final } console.log("Result: " + (hr_final) + " : " + (min_final));
about 4 years ago · Juan Pablo Isaza Denunciar

0

Estás en el camino correcto, pero debes considerar algunos factores adicionales:

  1. Debe usar el operador restante % nuevamente para asegurarse de que los valores que devuelva sean base-24 (para horas) y base-60 (para minutos).
  2. También debe considerar que el valor actualizado de "horas" en este escenario no es solo la hora actual más la cantidad de horas en la duración que proporciona, sino también si la duración hace que los minutos superen los 60 también (por ejemplo, un duración de 10 a las 17:55 debe devolver 18:05 , no 17:05 ).
  3. Finalmente, la mayoría de las configuraciones regionales expresan minutos con un cero inicial cuando el valor es inferior a 10 : un poco de manipulación de cadenas con String.substr() puede ser muy útil en este escenario.

 let h = +prompt("Enter current hour: "); let min = +prompt("Enter current minutes: "); let truk = +prompt("Enter duration (minutes): "); let newMin = ('0' + (min + (truk % 60)) % 60).substr(-2); let newH = (h + Math.trunc((truk + min) / 60) + Math.trunc(truk / 60)) % 24; console.log("You have entered: " + "h = " + h + ", " + "min = " + min + ", " + "truk = " + truk); console.log("Result: " + newH + " : " + newMin);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda