Foros del Web » Programando para Internet » PHP »

cuenta regresiva (restar horas)

Estas en el tema de cuenta regresiva (restar horas) en el foro de PHP en Foros del Web. Hola a todos... Tengo la siguiente funcion para restar horas: Código PHP: $hora_23  =  "00:00:01" ; function  calc_hora3 ( $hora_calc3 , $s_r3 , $hora_op3 ){ ...
  #1 (permalink)  
Antiguo 08/04/2012, 13:03
 
Fecha de Ingreso: enero-2009
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta cuenta regresiva (restar horas)

Hola a todos...

Tengo la siguiente funcion para restar horas:

Código PHP:
$hora_23 "00:00:01";
function 
calc_hora3($hora_calc3,$s_r3,$hora_op3){// PARAMETROS 1- Hora , 2- Sumar o restar (+ o -) , 3- Hora a sumar o restar
$hora_13 explode(":",$hora_calc3);
$hora_23 explode(":",$hora_op3);
if(
$s_r3 == "-"){ 
$hora_f3 $hora_13[0] - $hora_23[0];
$min_f3 $hora_13[1] - $hora_23[1];
$seg_f3 $hora_13[2] - $hora_23[2];
if(
$hora_f3>23){$hora_f3 24 $hora_f3;}
if(
$min_f3<=0){$min_f3 60 $min_f3;$hora_f3 $hora_f3 1;}
if(
$seg_f3<=0){$seg_f3 60 $seg_f3;$min_f3 $min_f3 1;}
//===================================================
if($hora_f3>=&& $hora_f3<10){$hora_f3 "0".$hora_f3;}
if(
$min_f3>=&& $min_f3<10){$min_f3 "0".$min_f3;}
if(
$seg_f3>=&& $seg_f3<10){$seg_f3 "0".$seg_f3;}
}
if(
$s_r3 == "+"){ 
$hora_f3 $hora_13[0] + $hora_23[0];
$min_f3 $hora_13[1] + $hora_23[1];
$seg_f3 $hora_13[2] + $hora_23[2];
if(
$hora_f3>23){$hora_f3 24 $hora_f3;}
if(
$min_f3>=59){$min_f3 $min_f3 60;$hora_f3 $hora_f3 1;}
if(
$seg_f3<0){$seg_f3 $seg_f3 60;$min_f3 $min_f3 1;}
//===================================================
if($hora_f3>=&& $hora_f3<10){$hora_f3 "0".$hora_f3;}
if(
$min_f3>=&& $min_f3<10){$min_f3 "0".$min_f3;}
if(
$seg_f3>=&& $seg_f3<10){$seg_f3 "0".$seg_f3;}
}
return 
$hora_f3.":".$min_f3.":".$seg_f3;
}
//Ej: $horas_comp = 03:00:00 horas
$resta_seg calc_hora3($horas_comp,"-",$hora_23);
echo 
"<br>$resta_seg<br>"
En esta funcion le resto 1 segundo a la $horas_comp (03:00:00), el resultado es 02:59:59, la funcion la ejecuto cada 1 segundo pero el problema es que no me sigue restando, siempre me entrega el mismo resultado.
Si alguien me puede ayudar con esto o conoce otra forma de hacer una cuenta regresiva en php le agradeceria.

Gracias.
  #2 (permalink)  
Antiguo 08/04/2012, 13:15
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: cuenta regresiva (restar horas)

Uff tanto codigo para restar segundo a una hora .
con esto resuelves con la funcion mktime


Código PHP:
Ver original
  1. $h = "03:09:30";
  2. $hr = explode(":",$h);
  3. echo date("h:i:s", mktime($hr[0], $hr[1], $hr[2]-34));
  #3 (permalink)  
Antiguo 08/04/2012, 13:32
 
Fecha de Ingreso: enero-2009
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: cuenta regresiva (restar horas)

Excelente...la verdad es que se ahorra mucho codigo y tiempo con esta funcion, pero, como podria adaptarla para hacer la cuenta regresiva (59, 58, 57,....00)
  #4 (permalink)  
Antiguo 09/04/2012, 20:23
 
Fecha de Ingreso: enero-2009
Mensajes: 106
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: cuenta regresiva (restar horas)

nada...??...algun metodo??

Si llamo la formula cada x tiempo o un segundo, la variable $h vuelve a tener la misma hora, por lo tanto no hace el conteo regresivo...

Alguna solución porfa.

Etiquetas: regresiva, restar
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 08:16.