108 – CALCULANDO EL TIEMPO DEL VEHICULO PARA LA FACTURA DEL CLIENTE en sistema con BD(👨💻PHPy MYSQL💻)

Duración: 7 min
Módulo: Módulo de Facturación: CRUD y Lógica 🧾 Lección 8 de 12

Descripción

🎓 Lección 108: Cálculo del Tiempo de Permanencia (PHP & MySQL)

La Lección 108 se centra en la implementación del algoritmo clave dentro del controlador controller_registrar_factura.php: el cálculo del tiempo exacto de permanencia del vehículo en el parqueo. Este tiempo es fundamental, ya que se utiliza como base para calcular el monto total a pagar.

🕒 Lógica para el Cálculo del Tiempo

El instructor establece la lógica para calcular la diferencia entre la hora de ingreso (recibida por GET) y la hora de salida (capturada en la lección anterior), asegurando el formato de 24 horas para evitar errores de cálculo:

  1. Transformación de las Horas:
    • Se utiliza la función strtotime() de PHP para convertir las cadenas de texto de la hora de ingreso ($hora_ingreso) y la hora de salida ($hora_salida) en una marca de tiempo (timestamp) en segundos. Esto permite realizar operaciones matemáticas con ellas. [03:08]
    • Variables Creadas:
      • $_cambiando_hora_ingreso: Timestamp de la hora de entrada.
      • $_cambiando_hora_salida: Timestamp de la hora actual de salida.
  2. Cálculo de la Diferencia:
    • Se resta el timestamp de salida menos el timestamp de ingreso para obtener la diferencia de tiempo en segundos ($diferencia_de_horas). [04:19]
  3. Corrección del Formato de Hora (24h):
    • Se identifica un error: PHP estaba manejando la hora de salida en formato de 12 horas (ej. 1 PM como 1, no como 13), lo que resultaba en un cálculo incorrecto (un valor negativo). [05:16]
    • Solución: Se corrige el formato de la hora de salida en la variable $hora_salida de la lección anterior, cambiando la minúscula h (formato 12 horas) por la mayúscula H (formato 24 horas) en la función date(). [06:02]

💡 Resultado

El algoritmo finaliza arrojando el tiempo de permanencia en segundos, lo cual es un paso intermedio. Este valor deberá ser dividido entre 60 (para obtener minutos) o entre 3600 (para obtener horas) en la próxima lección para determinar el tiempo final a facturar. [06:31]

⏭️ Próximos Pasos

La siguiente lección se dedicará a terminar el algoritmo de tiempo, convirtiendo los segundos a minutos u horas para obtener el valor final del campo tiempo de la tabla facturaciones.