Foros del Web » Programando para Internet » PHP »

Resta de dos horas automatico

Estas en el tema de Resta de dos horas automatico en el foro de PHP en Foros del Web. Saludos alguien podrian ayudarme necesito un codigo para calcular la resta de dos horas forma automatica en php y MYSQL para restar dos horas ejemplo: ...
  #1 (permalink)  
Antiguo 30/12/2008, 12:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
Resta de dos horas automatico

Saludos alguien podrian ayudarme necesito un codigo para calcular la resta de dos horas forma automatica en php y MYSQL para restar dos horas ejemplo:
hora de llamada: 11:30
hora llegada: 12:15
tiempo respuesta: 00:45
la hora de llamada es automatica y necesito que en cuanto se introdusca la hora de llegada calcule sin cambiar de php la hora de respuesta

De ante mano gracias a todos
  #2 (permalink)  
Antiguo 30/12/2008, 20:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Resta de dos horas automatico

Échale un vistazo a la función mktime()

Ah, y muevo el mensaje hacia PHP, que esto no parece nada relacionado con phpBB...


Saludos.
  #3 (permalink)  
Antiguo 30/12/2008, 23:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 4
Respuesta: Resta de dos horas automatico

Hola

Trata de convertir las horas a mktime() osea a segundos desde el UNIX y luego restalos, una vez hecho eso convirtelos dividiendo y luego imprimelos. Obviamente primero separa con explode las horas de los minutos, mas o menos asi:
Código php:
Ver original
  1. /*Suponiendo que tu variable de llamada sea horaLlamada*/
  2. list($horaLlamada_hrs, $horaLlamada_min) = explode(":", $horaLlamada);
  3.  
  4. /*Suponiendo que tu variable de llegada sea horaLlegada*/
  5. list($horaLlegada_hrs, $horaLlegada_min) = explode(":", $horaLlegada);
  6.  
  7. /*Convertimos a mktime*/
  8. $primer_valor = mktime($horaLlamada_hrs, $horaLlamada_min, 0, 0, 0, 0);
  9. $segundo_valor = mktime($horaLlegada_hrs, $horaLlegada_min, 0, 0, 0, 0);
  10.  
  11. /*Restamos hora de llegada con hora de llamada*/
  12. $restar = $segundo_valor - $primer_valor;
  13.  
  14. /*Convertimos de nuevo a horas y minutos*/
  15. //Horas
  16. $res_hrs = round($restar / (60*60));
  17.  
  18. /*Para que no nos regrese un valor excesivo y, obviamente irreal de minutos le restamos primero los minutos redondeados de las horas a los segundos resultantes de la resta*/
  19. $calcular_min = $restar - ($res_hrs * (60*60));
  20. $res_min = round($calcular_min / 60);
  21.  
  22. /*Convertimos a una string completa de tiempo HH:MM*/
  23. $resultado = $res_hrs.":".$res_min;
  24.  
  25. /*Hacemos echo con el resultado*/
  26. echo $resultado;
Espero te sirva, saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:54.