Calcular diferencia entre horas

  • mercurio89d
    Fecha de consulta 17 de octubre de 2021, 11:30

    Buenas tardes,

    por favor necesitaría ayuda para realizar un formulario en que a la hora de rellenar los datos se pueda escoger una hora de inicio y una hora de fin de una determinada tarea

    y que calcule automáticamente cuantas horas se ha tardado, y que este resultado no salga en formato "hora" sino cómo un numero entero.

    Muchas gracias




  • David Jotform Support Manager
    Fecha de respuesta 17 de octubre de 2021, 19:21

    Buen día, gracias por contactarnos. Si es posible calcular la diferencia entre dos campos de tipo "Hora". Pare ello, debe agregar cuatro widgets de "Cálculos de Formulario": https://www.jotform.com/help/259-how-to-perform-form-calculation-using-a-widget/

    1634511018 616ca8aacb39f widgets Screenshot 10

    1) En el primero, calculará la diferencia de horas utilizando la función Floor():

    floor(Hora Fin - Hora Inicio)

    1634511303 616ca9c71227f floor Screenshot 21

    Nota: puede consultar está guía para tener mayor información sobre las funciones: https://www.jotform.com/help/267-form-calculation-math-function-reference/

    2)  En el segundo widget de cálculo, debe calcular los minutos totales:

    (Hora Fin - Hora Inicio) *60

    1634511765 616cab95e8041 minutosTotales Screenshot 32

    3) Luego calcule la diferencia de minutos:

    (Diferencia en Horas * 60 - Minutos Totales) * (-1)

    1634511868 616cabfc1f1a6 diferenciademin Screenshot 43

    4) Finalmente, concatene la diferencia de horas y diferencia de minutos:

    Diferencia en Hoas : Diferencia en minutos

    1634512013 616cac8d07fc1 concatenar Screenshot 54

    Y esconda los primeros 3 widget de cálculo dejando solo el último visible: https://www.jotform.com/help/434-how-to-hide-form-fields/

    Resultado: https://form.jotform.com/212897047577066

    1634512859 616cafdb9cfe7 resultado Screenshot 65

  • mercurio89d
    Fecha de respuesta 18 de octubre de 2021, 10:37

    Buenas tardes muchas gracias por la aclaración.

    Una vez obtenida la diferencia entre horas, cómo podría convertir el resultado en número entero?

    Por ejemplo si el resultado es 1:15 convertirlo en 1,25

  • Kevin Support Team Lead
    Fecha de respuesta 18 de octubre de 2021, 15:48

    Tendrás que cambiar la fórmula usada en el widget "Diferencia en minutos" para convertir el resultado de minutos a decimal, acá dejo resaltados los cambios a hacer:

    ((Diferencia en Horas * 60 - Minutos Totales) * (-1))/60

    1634586304 616dcec06b6b4  Screenshot 10

    Luego tienes que modificar la fórmula del widget "Diferencia de hora y minutos" así como se muestra en la siguiente imagen:

    1634586445 616dcf4d0ac8f  Screenshot 21

    Este será el resultado: https://form.jotform.com/212905787392971

    Si tienes alguna duda, déjanos saber.


  • mercurio89d
    Fecha de respuesta 30 de octubre de 2021, 17:29

    Muchas gracias por la respuesta. He conseguido hacerlo.

    El unico inconveniente es que tengo que poner 31 días y sumar todos los totales, me sale un formulario larguísimo.

    He notado que existe también la opción de insertar horas mediante "Completar espacios" que me vendría mejor como formato ya que es más compacto.

    Se puede hacer algo parecido usando esta opción? Lo he intentado con la misma formula pero no lo consigo.

    Muchas gracias

  • David Jotform Support Manager
    Fecha de respuesta 30 de octubre de 2021, 23:05

    Desafortunadamente no es posible con ese tipo de campo, solo con el campo de Hora.