Foros del Web » Programando para Internet » PHP »

calcular hora

Estas en el tema de calcular hora en el foro de PHP en Foros del Web. hola a todos necesito hacer codigo php que muestre una hora de entrada y una hora de salida y calcule cuanto tiempo duro. me explico ...
  #1 (permalink)  
Antiguo 27/11/2009, 19:15
 
Fecha de Ingreso: noviembre-2009
Ubicación: monteria
Mensajes: 47
Antigüedad: 14 años, 5 meses
Puntos: 0
calcular hora

hola a todos
necesito hacer codigo php
que muestre una hora de entrada y una hora de salida y calcule cuanto tiempo duro.

me explico mejor
entra una persona al trabajo a las 8:00
y sale a las 12:00 necesito que calcule cuanto tiempo trabajo

gracias espero que me ayuden
  #2 (permalink)  
Antiguo 27/11/2009, 19:57
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 20 años, 9 meses
Puntos: 14
De acuerdo Respuesta: calcular hora

Como no explicas bien de donde tomaras los datos, pues supondre que los ingresaras tu de alguna forma, en cuyo caso podrias hacer lo siguiente:

Código php:
Ver original
  1. $HoraEntrada="8:00";
  2. $HoraSalida="11:20";
  3. $HoraEntradaSeparada=explode(":",$HoraEntrada);
  4. $HoraSalidaSeparada=explode(":",$HoraSalida);
  5. $HoraEntradaSola=$HoraEntradaSeparada[0];
  6. $MinutosEntradaSola=$HoraEntradaSeparada[1];
  7. $HoraSalidaSola=$HoraSalidaSeparada[0];
  8. $MinutosSalidaSola=$HoraSalidaSeparada[1];
  9. $HorasTrabajadas=$HoraSalidaSola-$HoraEntradaSola;
  10. $MinutosTrabajados=$MinutosSalidaSola-$MinutosEntradaSola;
  11.  
  12. //si la resta de minutos fuera negativa solo la multiplicas por -1 y ya
  13. if($MinutosTrabajados<0)
  14. {
  15. $MinutosTrabajados=$MinutosTrabajados*-1;
  16. }
  17.  
  18. $TotalHorasTrabajadas=$HorasTrabajadas.":".$MinutosTrabajados;

Espero te sirva.

Saludos.
__________________
:policia: Uno para todos y todos para uno.
  #3 (permalink)  
Antiguo 27/11/2009, 19:58
 
Fecha de Ingreso: enero-2007
Ubicación: Los Angeles, Chile
Mensajes: 28
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: calcular hora

si pasas las horas a segundos y las restas entre ellas podrias sacar lo que quieres, obviamente despues lo conviertes a hora dividiendo por 60 dos veces



Código PHP:
$inicio = ($hora_inicio*60*60)+($minuto_inicio*60);
$fin = ($hora_fin*60*60)+($minuto_fin*60);

$horas = ($fin-$inicio)/60/60;

echo 
$horas//  cantidad de horas 
  #4 (permalink)  
Antiguo 27/11/2009, 20:02
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 20 años, 9 meses
Puntos: 14
De acuerdo Respuesta: calcular hora

Como no explicas bien de donde tomaras los datos, pues supondre que los ingresaras tu de alguna forma, en cuyo caso podrias hacer lo siguiente:

Código php:
Ver original
  1. $HoraEntrada="8:00";
  2. $HoraSalida="11:20";
  3. $HoraEntradaSeparada=explode(":",$HoraEntrada);
  4. $HoraSalidaSeparada=explode(":",$HoraSalida);
  5. $HoraEntradaSola=$HoraEntradaSeparada[0];
  6. $MinutosEntradaSola=$HoraEntradaSeparada[1];
  7. $HoraSalidaSola=$HoraSalidaSeparada[0];
  8. $MinutosSalidaSola=$HoraSalidaSeparada[1];
  9. $HorasTrabajadas=$HoraSalidaSola-$HoraEntradaSola;
  10. $MinutosTrabajados=$MinutosSalidaSola-$MinutosEntradaSola;
  11.  
  12. //si la resta de minutos fuera negativa solo la multiplicas por -1 y ya
  13. if($MinutosTrabajados<0)
  14. {
  15. $MinutosTrabajados=$MinutosTrabajados*-1;
  16. }
  17.  
  18. $TotalHorasTrabajadas=$HorasTrabajadas.":".$MinutosTrabajados;

La clave de esta funcion es el uso de la funcion explode.

Se puede hacer el codigo mucho mas resumido pero te lo puse asi para que puedas entenderlo.

Espero te sirva.

Saludos.
__________________
:policia: Uno para todos y todos para uno.
  #5 (permalink)  
Antiguo 28/11/2009, 09:21
 
Fecha de Ingreso: noviembre-2009
Ubicación: monteria
Mensajes: 47
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: calcular hora

lo que en verdad necesito es lo sig
una pagina de registro de un parqueadero
entonces si el carro entro a las 08:00am y salio a las 1:00pm calcular cuato tiempo duro y calcular si la hora es a $2000 cuato tiene que pagar
espero que me puedan ayudar gracias
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




La zona horaria es GMT -6. Ahora son las 05:58.