Cuentra atrás!

Kaos

Estoi intentando hacer en php y javascript una cuenta atrás q toma dos fechas dadas con time();

El tema es el siguiente...

$tiempo1=time();
$tiempo2=$var2; // Imaginemos q $var2 es una fecha tomada con time() 5 minutos antes...

si cogemos $tiempo1 - $tiempo2 (Lo restamos) nos da como resultado un digito en segundos del q saco la cuenta atras. (Como comprobareis es un numero dinamico, lo mismo puede ser la cuenta atras de 10 minutos q de 1 hora o 10 segundos)

Teneis sugerencias? Es chungo lo se XD

Whose

Tienes que restar a la fecha actual (time()) al tiempo en segundos hasta la fecha que quieras.
Ej: un dia en segundos es 606024=86400

$restantes = ($dias360024+$fecha_inicio-time());

$fecha_inicio seria la fecha en formato unix donde comienza la cuenta atras y $dias, el numero de dias en que acaba la cuenta atras, 3600 son los segundos de un dia.

if((int)($restantes/86400) <= '-1') { echo 'Ya ha expirado'; } else { echo 'Quedan '.(int)($restantes/86400).' dias'; }

Espero haber me explicado bien y que te sea de ayuda.
PD: Esto esta hecho para comprobarlo con dias aunque puedes hacerlo del a misma forma para calcularlo en minutos, es cuestion de ponerse un poco con las mates :P

guiye

yo uso esto..

<?php
$creacion = mktime(0,0,0,01,31,2009);
$hoy = time();
$resta = $hoy - $creacion;
$total = round($resta/86400);
echo "$total dias que quedan _";
?>

solo has de editar el mktime y cambiarlo, mes/dia/año

BlasterN

si quieres hacer una cuentra atras dinamica con javascript mirate este codigo:

function countdown(target, time)
{
countdownarray[ncountdowns++]=time;
countdownarray[ncountdowns++]=target;
if ( ncountdowns == 2 )
interval = window.setInterval("updatecountdown()",1000);
}

function updatecountdown()
{
//document.writeln("hell!!");
for (i=0; i<ncountdowns; i++)
{
var showedtime=--countdownarray;
// format the time
var h=Math.floor( showedtime / 3600 )
var m=Math.floor( showedtime / 60 );
var s=showedtime % 60;
setCont("id",countdownarray[++i],null,h+":"+m+":"+s);
//document.getElementById(countdownarray[i+1])=showedtime;
if (showedtime == 0 )
{
countdownarray[i-1]=countdownarray[ncountdowns-1];
countdownarray[i-2]=countdownarray[ncountdowns-2];
ncountdowns=ncountdowns-2;
i=i-2;
}
}

if ( ncountdowns == 0 )
window.clearInterval(interval);
}


obviamente no te sirve pq te hacen falta otras funciones a las que llamo, pero la base es el setInterval que llama a una funcion cada ciertos milisegundos...

Usuarios habituales

  • BlasterN
  • guiye
  • Whose
  • Kaos