Bonjour à tous !
Je rencontre un soucis en javascript et sollicite votre aide.
En fait, j'ai un compte a rebours auquel je voudrais remplacer la date du PC par la date du serveur.
En fait, si le PC n'est pas à jour, le compte a rebours est faux parce qu’à une heure précise le script doit afficher une <div>.
J'ai cherché du côté de "gettimezoneoffset" .
Je n'arrive pas à adapter mon code et j'ai cherché du côté JSon qui ne réponds pas non plus à mes attentes.
Pouvez-vous m'aider svp ? Voici mon code :
<div id="after">
<span id="dhour"></span>:<span id="dmin"></span>:<span id="dsec"></span>
</div>
<div id="count2">Texte à afficher</div>
<div class="numbers" id="dday" hidden="true"></div>
<script>
var ladate=new Date()
var year=ladate.getFullYear();
var month=ladate.getMonth()+1;
var day=ladate.getDate();
var hour=9;
var minute=10;
var tz=0;
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
function countdown(yr,m,d,hr,min){
theyear=yr;themonth=m;theday=d;thehour=hr;theminute=min;
var today= new Date();
var todayy=today.getYear();
if (todayy < 1000) {todayy+=1900; }
var todaym=today.getMonth();
var todayd=today.getDate();
var todayh=today.getHours();
var todaymin=today.getMinutes();
var todaysec=today.getSeconds();
var todaystring1=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
var todaystring=Date.parse(todaystring1)+(tz*1000*60*60);
var futurestring1=(montharray[m-1]+" "+d+", "+yr+" "+hr+":"+min);
var futurestring=Date.parse(futurestring1)-(today.getTimezoneOffset()*(1000*60));
var dd=futurestring-todaystring;
var dday=Math.floor(dd/(60*60*1000*24)*1);
var dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
var dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
var dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=0){
document.getElementById('count2').style.display="inline";
document.getElementById('after').style.display="none";
document.getElementById('dday').style.display="none";
document.getElementById('dhour').style.display="none";
document.getElementById('dmin').style.display="none";
document.getElementById('dsec').style.display="none";
document.getElementById('days').style.display="none";
document.getElementById('hours').style.display="none";
document.getElementById('minutes').style.display="none";
document.getElementById('seconds').style.display="none";
return;
}else {
document.getElementById('count2').style.display="none";
document.getElementById('dday').innerHTML=dday;
document.getElementById('dhour').innerHTML=dhour;
document.getElementById('dmin').innerHTML=dmin;
document.getElementById('dsec').innerHTML=dsec;
setTimeout("countdown(theyear,themonth,theday,thehour,theminute)",1000);}
}
countdown(year,month,day,hour,minute);
</script>
Le principe est simple. Je suis en train de faire un jeu sur mon site web et avant le jeu il y a un compte à rebours. Ce que je veux faire c'est: Le compte à rebours doit faire un décompte pour arriver à une heure précise par exemple : A 10h10, le jeu se lancera, et en dessous il y a le compte à rebours qui tourne et dès que le compte à rebours est nul (c'est à dire qu'il est 10h10) le jeu se lance et le compte à rebours disparaît...
Voila un peu ce que je compte faire.
Mon soucis: Pendant que le compte à rebours passe, si je change l'heure de mon PC, le compte à rebours changera aussi...
Merci.