contabilizar horas php
Publicado por Alfredo (1 intervención) el 27/06/2008 13:00:00
que se llama "Fichaje" y cuyos atributos son "user,fecha,hora,entrada_salida". Un ejemplo podría ser:
USER FECHA HORA ENTRADA_SALIDA
alfredo 20/6/2008 9:00:52 entrada
alfredo 20/6/2008 14:00:00 salida
alfredo 23/6/2008 9:01:00 entrada
alfredo 23/6/2008 14:05:05 salida
alfredo 24/6/2008 8:59:02 entrada
alfredo 24/6/2008 13:59:00 salida
Tengo que contabilizar la hora de la semana en que estamos, es decir, esta semana me tendría que devolver 10:04:03 horas, ya que la fecha del 20/6/2008 no debería contarla porque no es de esta semana. Además me tiene que sumar a las horas de la semana las horas que llevo a día de hoy.
No sé que funciones existen o cómo hacerlo según los formatos que tengo de Fecha: dd/m/aaaa y Hora: h:mm:ss.
Me imagino que habrá que ir restando la hora de salida - hora entrada del mismo dia, pero para ello necesito una función que me lo pase a integer y creo que habrá que hacer varios "Select".
Espero que me podáis dar unas pequeñas ideas para comenzar.
He sacado la función para restar horas (funciona perfectamente):
<?php
function dif($h1,$h2){
$h=((strtotime($h1)-strtotime($h2)))/3600;
$m=intval((($h)-intval($h))*60);
$s=intval((((($h)-intval($h))*60)-$m)*60);
return (intval($h)<>10?'0'.intval($h):intval($h)).':'.($m <>10?'0'.$m:$m).':'.($s<>10?'0'.$s:$s);
}
?>
Ahora ya sólo me queda cómo sacar los días de la semana y cómo sacar la hora entrada y la hora de salida para restarlas; tendré también que usar un contador para sumar todas las horas, incluidas en la fecha actual.
Por favor, si sabéis cómo sacarlo agradecería que me ayudárais.
USER FECHA HORA ENTRADA_SALIDA
alfredo 20/6/2008 9:00:52 entrada
alfredo 20/6/2008 14:00:00 salida
alfredo 23/6/2008 9:01:00 entrada
alfredo 23/6/2008 14:05:05 salida
alfredo 24/6/2008 8:59:02 entrada
alfredo 24/6/2008 13:59:00 salida
Tengo que contabilizar la hora de la semana en que estamos, es decir, esta semana me tendría que devolver 10:04:03 horas, ya que la fecha del 20/6/2008 no debería contarla porque no es de esta semana. Además me tiene que sumar a las horas de la semana las horas que llevo a día de hoy.
No sé que funciones existen o cómo hacerlo según los formatos que tengo de Fecha: dd/m/aaaa y Hora: h:mm:ss.
Me imagino que habrá que ir restando la hora de salida - hora entrada del mismo dia, pero para ello necesito una función que me lo pase a integer y creo que habrá que hacer varios "Select".
Espero que me podáis dar unas pequeñas ideas para comenzar.
He sacado la función para restar horas (funciona perfectamente):
<?php
function dif($h1,$h2){
$h=((strtotime($h1)-strtotime($h2)))/3600;
$m=intval((($h)-intval($h))*60);
$s=intval((((($h)-intval($h))*60)-$m)*60);
return (intval($h)<>10?'0'.intval($h):intval($h)).':'.($m <>10?'0'.$m:$m).':'.($s<>10?'0'.$s:$s);
}
?>
Ahora ya sólo me queda cómo sacar los días de la semana y cómo sacar la hora entrada y la hora de salida para restarlas; tendré también que usar un contador para sumar todas las horas, incluidas en la fecha actual.
Por favor, si sabéis cómo sacarlo agradecería que me ayudárais.
Valora esta pregunta


0