Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2012, 13:56
Avatar de Tollelle
Tollelle
 
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta Contador regresivo usando horas de PHP

Hola amigos...

Llevo días peleando con un código que no sé qué tiene de extraño pero no funciona...
El problema viene cuando intento usar la hora actual del servidor apache con la función date() de php... si uso la hora del cliente con new Date() no hay problemas...
pero si intento definir una fecha específica tipo: new Date(2012,04,04,21,48,19) el contador no resta... se queda congelado...

¿alguien podría echarme un cable al respecto?

Código HTML:
Ver original
  1. <script type="text/javascript" language="JavaScript">
  2. function calcula(id){
  3.     var fecha=new Date(2012,04,06,20,00,00)
  4.     var hoy=new Date(2012,04,04,21,48,19)
  5.     var dias=0
  6.     var horas=0
  7.     var minutos=0
  8.     var segundos=0
  9.  
  10.     if (fecha>hoy){
  11.         var diferencia=(fecha.getTime()-hoy.getTime())/1000
  12.         dias=Math.floor(diferencia/86400)
  13.         diferencia=diferencia-(86400*dias)
  14.         horas=Math.floor(diferencia/3600)
  15.         diferencia=diferencia-(3600*horas)
  16.         minutos=Math.floor(diferencia/60)
  17.         diferencia=diferencia-(60*minutos)
  18.         segundos=Math.floor(diferencia)
  19.  
  20.         document.getElementById(id).innerHTML= dias + '<span class=f12>d</span> ' + horas + '<span class=f12>h</span> ' + minutos + '<span class=f12>m</span> ' + segundos + '<span class=f12>seg</span>'
  21.  
  22.         if (dias>0 || horas>0 || minutos>0 || segundos>0){
  23.             setTimeout("calcula(\"" + id + "\")",1000)
  24.         }
  25.     }
  26.     else{
  27. document.getElementById("cuenta_atras").style.display = 'none';
  28.     }
  29. }</script>

Gracias de antemano ;)