Modification d'une fonction runClock JS

Fermé
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 25 févr. 2009 à 08:08
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 25 févr. 2009 à 09:36
bonjour,

Voila mon problème est court a expliquer mais je pense long a réaliser j'ai une fonction JS qui me donne l'heure système et la date.
Hélas dans mon entreprise il souhaite la mettre pareil que sur leur automate qui est assez vieux et donc leur s'est reculé au fil du temps

Donc la il faudrait que je change la fonction pour la reculer de quelque seconde.


Hélas je ne trouve pas la ligne pour faire ceci et pour tout vous dire je ne comprend pas grand chose au JS

Donc si quelqu'un serait sympa pour m'aider svp

voici la fonction :


function runClock() 
	{ 
		var month = new Array ("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
		today   = new Date(); 
		jour = today.getDate(); 
		mois = today.getMonth();
		annee = today.getYear();
  
		if ((navigator.appName == "Netscape") && (parseFloat(navigator.appVersion) >= 4.06))
		
		annee = eval(today.getYear() + 1900);
		hours   = today.getHours(); 
		minutes = today.getMinutes(); 
		seconds = today.getSeconds(); 
		timeValue = hours; 
	
		// Les deux prochaines conditions ne servent que pour l'affichage.
		// Si le nombre de minute est inférieur à 10, alors on rajoute un 0 devant...
		timeValue += ((minutes < 10) ? ":0" : ":") + minutes; 
		timeValue += ((seconds < 10) ? ":0" : ":") + seconds; 
		
		document.getElementById("time").innerHTML = 'Le '+ jour + ' '+month[mois]+' '+annee+' à ' + timeValue;
		timerID = setTimeout("runClock()",1000); 
		timerRunning = true; 
	}
merci d'avance

4 réponses

Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
25 févr. 2009 à 08:15
Tu veux rajouter combien de secondes?

Parce que la ligne à modifier sera celle là :
seconds = today.getSeconds();

où tu mettras :
seconds = today.getSeconds() + x(ton nombre de secondes);

Le seul problème c'est qu'il va falloir faire des tests parce que par exemple si tu rajoutes 5secondes et que le today.getSeconds() est de 56 ... Tu vas te retrouver avec 61secondes ...

Donc il va falloir tester le nombre de secondes et rajouter une minute si besoin...
Après il faudra tester les minutes parce que en rajoutant une minute tu passeras ptètre de 59minutes à 60, donc toujours un problème ...
Et ainsi de suite pour les heures, les jours, les mois, les années ...
Donc, je pense un petit algo à faire ^^

Maintenant il y a ptètre un moyen plus simple ... :s
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
25 févr. 2009 à 08:21
ok merci je viens de modifier la ligne et j'ai rajouter 8 secondes

par contre mon heure en visu va jusqu'a 68 et démarre a 8

comment faire?
0
Passarinho44 Messages postés 963 Date d'inscription mercredi 28 mai 2008 Statut Contributeur Dernière intervention 13 juin 2012 132
25 févr. 2009 à 08:48
Je l'ai marqué dans mon post : il faut faire une ptite algo pour répercuter sur les minutes et tout ...
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
25 févr. 2009 à 09:36
oui en php ca doit donner un truc comme ca :

list($hh, $mm, $ss)=explode(":",$heure);
	if ($ss >= 60)
			{
			$retenuess = intval($ss/60);
			$mm = $mm + $retenuess;
			$ss = $ss%60;
			}
			
	if ($mm >=60)
			{
			$retenuemm = intval($mm/60);
			$hh = $hh + $retenuemm ;
			$mm = $mm%60;
			}
			
	if ($hh < 10)	{	$hh = "0".$hh;	}		
	if ($mm < 10)	{	$mm = "0".$mm;	}
	if ($ss < 10)	{	$ss = "0".$ss;	}


je ne vois pas ce qu'il y a d'autre et ensuite hélas tu sais que en JS je n'y arriverais pas sans mon traducteur (toi) lol
0