El tratado de fechas y horas desde PHP en ocasiones nos puede dar más de un dolor de cabeza. PHP dispone de muchas funciones para trata...
El tratado de fechas y horas desde PHP en ocasiones nos puede dar más de un dolor de cabeza. PHP dispone de muchas funciones para tratar las fechas y horas pero especialmente he visto bastante complicado poder sumar horas.
El caso particular del que vamos hablar, tenemos una tabla de la base de datos que guarda los tiempos (representados en horas) de realización de una tarea tal como podemos observar en la siguiente imagen:
Fíjate bien en el campo time de tipo TIME que tenemos en nustra tabla de tareas. En el se guardan el tiempo que se ha tardado en realizar la tarea. Para llevar un control de horas por usuario o fecha necesitamos hacer una suma de los tiempos.
Supongo que se puede hacer desde PHP pero en este artículo vamos a ver como hacerlo con MYSQL, ya que es realmente sencillo. Tan solo debemos ejecutar la siguiente sentencia:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time))) AS hours FROM task_time
Desde PHP sería llamar a esta query desde las típicas sentencias para conseguir valores de la base de datos.
$query = 'SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time))) AS hours FROM task_time';