el codigo es este:
Código PHP:
var inicio=false;
// este ajuste de hora no lo entiendo si solo quiero que el contador sume la date del servidor +tiempo esper
var ajustehora=0;
var ajusteminuto=0;
var ajustesegundo=0;
var ajustedia=0;
var ajustemes=0;
var ajusteano=0;
function relojear(dia,mes,ano,hora,minuto,segundo){
// el plazo supongo que es el tiempo de espera date-final- date.ahora
plazo=new Date();
plazo.setDate(dia);
plazo.setMonth(mes-1);
plazo.setFullYear(ano);
plazo.setHours(hora);
plazo.setMinutes(minuto);
plazo.setSeconds(segundo);
if(!inicio){
// aqui introduzco la hora del servidor en el objeto de tiempo serv_ahora
serv_ahora=new Date();
serv_ahora.setDate(<?php echo intval(date('j')) ?>);
serv_ahora.setMonth(<?php echo intval(date('n')-1) ?>);
serv_ahora.setFullYear(<?php echo intval(date('Y')) ?>);
serv_ahora.setHours(<?php echo intval(date('H')) ?>);
serv_ahora.setMinutes(<?php echo intval(date('i')) ?>);
serv_ahora.setSeconds(<?php echo intval(date('s')) ?>);
ahora=new Date();
// aqui no entiendo porque a la date del servidor se le resta la date del navegador
ajustedia=serv_ahora.getDate()-ahora.getDate();
ajustemes=serv_ahora.getMonth()-ahora.getMonth();
ajusteano=serv_ahora.getFullYear()-ahora.getFullYear();
ajustehora=serv_ahora.getHours()-ahora.getHours();
ajusteminuto=serv_ahora.getMinutes()-ahora.getMinutes();
ajustesegundo=serv_ahora.getSeconds()-ahora.getSeconds();
}
horasinajuste=new Date();
// tampoco entiendo este ajuste
ahora=new Date();
ahora.setDate(horasinajuste.getDate()+ajustedia);
ahora.setMonth(horasinajuste.getMonth()+ajustemes);
ahora.setFullYear(horasinajuste.getFullYear()+ajusteano);
ahora.setHours(horasinajuste.getHours()+ajustehora);
ahora.setMinutes(horasinajuste.getMinutes()+ajusteminuto);
ahora.setSeconds(horasinajuste.getSeconds()+ajustesegundo);
inicio=true;
quedan=((plazo/1000)-(ahora/1000))+' segundos';
if(ahora>=plazo)
document.getElementById('status').innerHTML='plazo cumplido';
else
document.getElementById('status').innerHTML='restan '+quedan;
}
</script>
</head>
<body onload="setInterval('relojear(<?php echo intval(date('j')) ?>,<?php echo intval(date('n')) ?>,<?php echo intval(date('Y')) ?>,<?php echo intval(date('H')) ?>,<?php echo intval(date('i'))+1 ?>,<?php echo intval(date('s')) ?>)',1000)">
<div id="status"> </div>
</body>
</html>
Lo que yo quiero hacer es una cuenta atras del x tiempo de espera que posea un usuario.
Seria algo asi como date del servidor (las cuentas atras y los manejos de tiempo se hacen todos respecto la hora del servidor, que todos los usuarios conocen, su hora local es irrelevante) + tiempo de espera.
Una vez ese contador llegue a 0, ha de pasar x cosa. La verdad es que tampoco me convence mucho la forma de sacar el tiempo por pantalla de este codigo, yo ahi solo veo que saque los segundos restantes.
Bueno muchas gracias por vuestra ayuda y espero que me podais echar 1 mano o 2!! jeje
Saludos!!
PD: Todas mis dudas las he puesto como comentarios en el script.
PD2: Creo que el script que tengo que realizar es bastante mas sencillo que este: