Accueil > > > PHP ET JAVASCRIPT : AFFICHER UNE HORLOGE BASÉE SUR L'HEURE DU SERVEUR
PHP ET JAVASCRIPT : AFFICHER UNE HORLOGE BASÉE SUR L'HEURE DU SERVEUR
Information sur la source
Description
//------------------------------------------------ -------------------------------------------------- -------- //- méthode permettant de gérer un cadran (heure + date) - //- @param id_cadran l'id du cadran - //- time le temps du serveur - //- appel le numéro d'appel (hasChildNodes() renvoie true sous FF et false sous IE ...) - //- @return rien - //---------------------------------------------- -------------------------------------------------- ---------- function horloge(id_cadran, time, appel) { }
Source
//----------------------------------------------------------------------------------------------------------
//- méthode permettant de gérer un cadran (heure + date) -
//- @param id_cadran l'id du cadran -
//- time le temps du serveur -
//- appel le numéro d'appel (hasChildNodes() renvoie true sous FF et false sous IE ...) -
//- @return rien -
//----------------------------------------------------------------------------------------------------------
function horloge(id_cadran, time, appel)
{
// conversion en entier des variables time et appel; au premier appel ce sont des chaînes
time = parseInt(time);
appel = parseInt(appel);
// on en fait une date
var d = new Date(time * 1000);
// on récupère les différentes composantes
var heure = d.getHours();
var min = d.getMinutes();
var sec = d.getSeconds();
// gestion des 0 pour qu'il y ait toujours un chiffre de la forme xx
if (heure < 10)
{
heure = "0" + heure;
}
if (min < 10)
{
min = "0" + min;
}
if (sec < 10)
{
sec="0"+sec;
}
// le jour (libellé)
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();
}
// le mois
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 = "août";
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(); // l'année xxxx
var jour = d.getDate(); // le jour (chiffre)
// si elle n'existe pas on la crée
if (appel == 1)
{
fieldset = document.createElement("fieldset");
legend = document.createElement("legend");
hr = document.createElement("hr");
br = document.createElement("br");
divCadran = document.createElement("div");
texteLegend = document.createTextNode("Horloge");
texteDate = document.createTextNode(day + " " + jour + " " + mois + " " + annee);
texteHeure = document.createTextNode(heure + " h " + min + " min " + sec + " sec");
divCadran.id = "divCadran";
// mise en forme du DOM
divCadran.appendChild(texteDate);
divCadran.appendChild(br);
divCadran.appendChild(texteHeure);
legend.appendChild(texteLegend);
fieldset.appendChild(legend);
fieldset.appendChild(hr);
fieldset.appendChild(divCadran);
document.getElementById(id_cadran).appendChild(fieldset);
}
else // sinon on met à jour la date et l'heure
{
document.getElementById("divCadran").childNodes.item(0).nodeValue = day + " " + jour + " " + mois + " " + annee;
document.getElementById("divCadran").childNodes.item(2).nodeValue = heure + " h " + min + " min " + sec + " sec";
}
// temps unix + 1
time = time + 1;
// incrémentation de appel
appel = appel + 1;
// on rappelle la fonction aprés une seconde
setTimeout("horloge('" + id_cadran + "', '" + time + "', '" + appel + "')",1000);
}
Conclusion
Fonctionnement trés simple : - charger la fonction avec la page: <body onload=\"javascript: horloge('cadran', '".time()."', '1');\"> - ajouter une div (ou boite en général) dans laquelle mettre l'heure: <div id=\"cadran\" class=\"cadran\"></div>
Et voilà, ceux qui consultent votre site ont maintenant l'heure du serveur en temps réel et non l'heure du client !!
Historique
- 23 août 2006 10:16:18 :
- La catégorie Date/Heure est plus appropriée ...
- 23 août 2006 10:18:04 :
- ...
- 23 août 2006 12:37:04 :
- innerHTML est déprécié donc DOM oblige ...
- 23 août 2006 15:03:00 :
- Le bug de IE est corrigé grâce au commentaire de malalam ... par contre FireFox et IE ne retourne pas la même chose pour la méthode hasChildNodes donc un paramètres a été ajouté à la fonction ...
PS: pour ceux qui se demandent pourquoi replaceChild() a été enlevé c'est qu'il y a un bug de cette méthode sous IE ...
- 23 août 2006 16:13:25 :
- ajout du fichier zip
- 23 août 2006 16:17:08 :
- changement de catégorie
- 23 août 2006 16:20:16 :
- modification agencement source
- 04 septembre 2006 13:25:00 :
- Conformément à certaines demandes un exemple complet de fonctionnement de l'horloge
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Chrono Javascript dans page php [ par michaelminelli1 ]
Bonjour, Je calcul un certain temps avec une page php que je met un include dans ma page d'index, et j'aimerai que ce temps (temps d'une variable moi
Comment appeler une variable php dans une fonction d'un fichier javascript [ par momoch2 ]
Bonjour à tous, Je voudrais tester une variable php dans une fonction javascript. Comment faire ? Merci
Exécuter un javascript dans une page PHP chargée par AJAX [ par roro59650 ]
Bonjour tout le monde,Tout d'abord, merci de me lire!Bon ensuite, pour ce qui m'intéresse : j'ai une application intranet, donc je peut utiliser le ja
Transformer un tableau d'objets Php en tableau d'objets Javascript [ par alteus34 ]
Bonjour, J'ai un tableau d'objets en Php ( mysql_fetch_object($handle)) que je dois transformer en tableau d'objets en javascript ! Y a t-il une fonc
Tableau en Php javascript [ par hilquatar ]
Bojour! j'ai en fait une listbox avec un lien > au dessus et > en dessous pour ajouter et enlever une ligne de la listebox. une ligne contient des
Script ajax/Php [ par Mickael33480 ]
Bonjour à tous, Je vous contact car j'ai besoins d'un coups de main par rapport à un script que j'essaye de faire. Je débute en Javascript/Ajax et là
ajax/javascript (rémunéré) [ par bZx ]
Je suis sur le développement d'un site depuis un certain temps et, après une nuit blanche sur du bon vieux php5 (que je maitrise assez bien) je me sui
Appeler une ancre d'une autre page au coeur d'une fonction Javascript [ par MissArmande ]
Bonjour à tous, Je suis en train de réaliser mon premier site web, et je m'arrache un peu les cheveux. J'utilise un javascript, trouvé sur le site (
comment tester une variable php dans fonction javascript [ par bello10 ]
Bonjour à tous, Je voudrais tester une variable php dans une fonction javascript. Comment faire ? Merci
Du dinamique avec du JavaScript [ par minimoysmini ]
Salut, Voila je connais pas mal de truc en informatique. Je c'est programmer en C#,HTML,JavaScript et CSS. Puis j'ai eu envie de créer un jeux sur i
|
Derniers Blogs
SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|