Date et heure en 3 étages

Résolu
piteur30 Messages postés 52 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 juillet 2009 - 17 mai 2009 à 15:44
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 19 mai 2009 à 07:59
Bonjour

voici un script d'affichage de l'heure et la date serveur

il affiche le tout sur 2  étages mais j'aimerai qu'il affiche sur 3 étages
exemple

la il affiche :
Dimanche 17 Mai 2009
15 : 41 : 05

j'aimerai qu'il affiche :

Dimanche
17 Mai 2009
15 : 41 : 05

voici le script :

function horloge(id_cadran, time, appel)
{
 time = parseInt(time);
 appel = parseInt(appel);


     var d = new Date(time * 1000);


 var heure = d.getHours();
 var min = d.getMinutes();
 var sec = d.getSeconds();


 if (heure < 10)
 {
  heure = "0" + heure;
 }
 if (min < 10)
 {
  min = "0" + min;
 }
 if (sec < 10)
 {
  sec="0"+sec;
 }


 var day;


 switch (d.getDay())
 {
  case 1: day = "Lundi";
  break;


  case 2: day = "Mardi";
  break;


  case 3: day = "Mercredi";
  break;


  case 4: day = "Jeudi";
  break;


  case 5: day = "Vendredi";
  break;


  case 6: day = "Samedi";
  break;


  case 0: day = "Dimanche";
  break;


  default: day = "erreur : " + d.getDay();
 }


 var mois;


 switch (d.getMonth())
 {
  case 0: mois = "Janvier";
  break;


  case 1: mois = "Février";
  break;


  case 2: mois = "Mars";
  break;


  case 3: mois = "Avril";
  break;


  case 4: mois = "Mai";
  break;


  case 5: mois = "Juin";
  break;


  case 6: mois = "Juillet";
  break;


  case 7: mois = "Aout";
  break;


  case 8: mois = "Septembre";
  break;


  case 9: mois = "Octobre";
  break;


  case 10: mois = "Novembre";
  break;


  case 11: mois = "Décembre";
  break;


  default: mois = "erreur : " + d.getMonth();
 }


 var annee = d.getFullYear();
 var jour = d.getDate();


 if (appel == 1)
 {
  fieldset = document.createElement("feldset");
  legend = document.createElement("legend");
  br = document.createElement("br");
  divCadran = document.createElement("center");
  texteDate = document.createTextNode(day + " " + jour + " " + mois + " " + annee);
  texteHeure = document.createTextNode(heure + " : " + min + " : " + sec);


  divCadran.id = "divCadran";




  divCadran.appendChild(texteDate);
  divCadran.appendChild(br);
  divCadran.appendChild(texteHeure);
  fieldset.appendChild(legend);
  fieldset.appendChild(divCadran);


  document.getElementById(id_cadran).appendChild(fieldset);
 }
 else
 {
  document.getElementById("divCadran").childNodes.item(0).nodeValue = day + " " + jour + " " + mois + " " + annee;
  document.getElementById("divCadran").childNodes.item(2).nodeValue = heure + " : " + min + " : " + sec;
 }


 time = time + 1;


 appel = appel + 1;


 setTimeout("horloge('" + id_cadran + "', '" + time + "', '" + appel + "')",1000);
}

J'ai esayer la fontion br etc mais rien marche
pouvais vous m'aider svp

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 mai 2009 à 19:16
Salut,

Je ne sais pas trop ce que tu fais avec cette fonction mais c'est une mauvaise chose de se baser sur setTimeout pour afficher une heure.
Tu vas te retrouver avec des décalages énormes si l'horloge reste affichée trop longtemps.

Tu peux cependant essayer ça :

function horloge(id_cadran, time, appel)
{
 time = parseInt(time);
 appel = parseInt(appel);

     var d = new Date(time * 1000);

 var heure = d.getHours();
 var min = d.getMinutes();
 var sec = d.getSeconds();

 if (heure < 10)
 {
  heure = "0" + heure;
 }
 if (min < 10)
 {
  min = "0" + min;
 }
 if (sec < 10)
 {
  sec="0"+sec;
 }

 var day;

 switch (d.getDay())
 {
  case 1: day = "Lundi";
  break;

  case 2: day = "Mardi";
  break;

  case 3: day = "Mercredi";
  break;

  case 4: day = "Jeudi";
  break;

  case 5: day = "Vendredi";
  break;

  case 6: day = "Samedi";
  break;

  case 0: day = "Dimanche";
  break;

  default: day = "erreur : " + d.getDay();
 }

 var mois;

 switch (d.getMonth())
 {
  case 0: mois = "Janvier";
  break;

  case 1: mois = "Février";
  break;

  case 2: mois = "Mars";
  break;

  case 3: mois = "Avril";
  break;

  case 4: mois = "Mai";
  break;

  case 5: mois = "Juin";
  break;

  case 6: mois = "Juillet";
  break;

  case 7: mois = "Aout";
  break;

  case 8: mois = "Septembre";
  break;

  case 9: mois = "Octobre";
  break;

  case 10: mois = "Novembre";
  break;

  case 11: mois = "Décembre";
  break;

  default: mois = "erreur : " + d.getMonth();
 }

 var annee = d.getFullYear();
 var jour = d.getDate();

 if (appel == 1)
 {
  fieldset = document.createElement("fieldset");
  legend = document.createElement("legend");
  br = document.createElement("br");
  divCadran = document.createElement("center");
  texteDay = document.createTextNode(day);
  texteDate = document.createTextNode(jour + " " + mois + " " + annee);
  texteHeure = document.createTextNode(heure + " : " + min + " : " + sec);

  divCadran.id = "divCadran";

  divCadran.appendChild(texteDay);
  divCadran.appendChild(document.createElement("br"));
  divCadran.appendChild(texteDate);
  divCadran.appendChild(br);
  divCadran.appendChild(texteHeure);
  fieldset.appendChild(legend);
  fieldset.appendChild(divCadran);

  document.getElementById(id_cadran).appendChild(fieldset);
 }
 else
 {
  document.getElementById("divCadran").childNodes.item(0).nodeValue = day;
  document.getElementById("divCadran").childNodes.item(2).nodeValue = jour + " " + mois + " " + annee;
  document.getElementById("divCadran").childNodes.item(4).nodeValue = heure + " : " + min + " : " + sec;
 }

 time = time + 1;

 appel = appel + 1;

 setTimeout("horloge('" + id_cadran + "', '" + time + "', '" + appel + "')",1000);
}

C'est une modif à la va vite, il doit être possible de faire mieux, tout comme la fonction.

Cordialement,

Kohntark -
3
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
18 mai 2009 à 08:30
Ce n'est pas du code JS ça ??
Si oui, il y a juste un souci, tu affiches l'heure de ton poste client et non de ton serveur.
S.
0
piteur30 Messages postés 52 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 juillet 2009
18 mai 2009 à 11:34
oui c'est du js  si il a deux relais dessus se qui me permet d'avoir l'heure du serveur et la mètre a jour car n'y mon pc n'y le serveur de mon héberger est a l'heure

le ode je lai tester c'est pas l'heure du visiteur  

par contre je l'ai déjà un peut modifier mais sa parai bête mais le retour a la ligne pour le jour je bloque

la balise br marche pas et de que je recoupe le script en 3 au lieu de 2 sa bloque
vous pouvais me dire se qu'il faut faire svp

cordialement
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
18 mai 2009 à 14:13
br = document.createElement("br");
  divCadran = document.createElement("center");
texteDate1 = document.createTextNode(day);
  texteDate2 = document.createTextNode(jour + " " + mois + " " + annee);  texteHeure document.createTextNode(heure + " : " + min + " : " + sec);   divCadran.id "divCadran";

  divCadran.appendChild(texteDate1);
  divCadran.appendChild(br);
  divCadran.appendChild(texteDate2);

Ca ne marche pas ça ??
S.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
piteur30 Messages postés 52 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 juillet 2009
18 mai 2009 à 16:55
je vais ressayer mais normalement non car j'avais essayez (casi la même chose )
0
piteur30 Messages postés 52 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 juillet 2009
18 mai 2009 à 17:05
c'est bien se qui me semblai sa marche pas
0
piteur30 Messages postés 52 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 juillet 2009
18 mai 2009 à 23:33
merci

sa marche nickel

heu je savais pas que c'était pas tellement recommandé mais de doute façon j'ai pas le choix

je veut pas l'heure du visiteur et celui de mon héberger est soi de 9 soit 8 h de retard

et il y a que se script qui mais tout a l'heure

cordialement
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
19 mai 2009 à 07:59
Enfin, une ame charitable pour donner le code complet qui marche..
Perso j'aurais po pu.. manque de temps.. Ahh ces hommes pressés..
Bonne journée messieurs
S.
0
Rejoignez-nous