Date et heure en 3 étages

[Résolu]
Signaler
Messages postés
52
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2009
-
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
-
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

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
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.
Messages postés
52
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2009

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
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
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.
Messages postés
52
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2009

je vais ressayer mais normalement non car j'avais essayez (casi la même chose )
Messages postés
52
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2009

c'est bien se qui me semblai sa marche pas
Messages postés
52
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2009

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
Messages postés
2380
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
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.