Heure et date en temps réel !!

Description

Petite amélioriation du code de cyberjs...
Script affichant en temps réel l'heure et la date actuelle.
La date est affichée en toutes lettres.

Je viens d'apercevoir une erreur dans mon code, j'avais oublié le mois d'octobre... Toutes mes excuses pour ceux qui ne l'avait pas remarqué.

Voici la version corrigée ;-)

+ ET améliorée !

>> Quelques précisions, le premier code ne marche qu'à partir de IE 5 mais pas sous Nescape, alors j'ai rajouté le second code qui à l'aide de structures conditionnelle HTLM, détermine la version du navigateur utilisé :
<!--[if IE 5]> pour le code pour IE 5
<!--[else]> pour Nescape et les autres qui ne pourront bénéficier de l'heure remise à jour toutes les secondes.
<![endif]--> marque la fin de la structure conditionnelle

Source / Exemple :


<html>
<title>Script affichant l'heure et la date actuelle | by Kallimakhos</title>
<head>

<script language="JavaScript">

function Heure() {
jours = new Array ("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
mois = new Array ("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
d=new Date;
if (d.getHours()<10) {h="0"+d.getHours()};
else {h=d.getHours()};
if (d.getMinutes()<10) {min="0"+d.getMinutes()};
else {min=d.getMinutes()};
if (d.getSeconds()<10) {sec="0"+d.getSeconds()};
else {sec=d.getSeconds()};
j=jours[d.getDay()];
if (d.getDate()<10) {n="0"+d.getDate()};
else {n=d.getDate()};
m=mois[d.getMonth()];
a=d.getYear();
txt="Nous sommes le "+j+" "+n+" "+m+" "+a+", il est : "+h+":"+min+":"+sec;
Calk.innerHTML = txt;
setTimeout("Heure()", 1000);
}
</script>

<body onload="Heure()">
<span id ="Calk"></span>

</body>

</htlm>

<!--J'ajoute néanmoins quelque précisions sur ce code : seuls les utilisateurs d'Internet Explorer pourront appercevoir la date et l'heure en temps réel, ainsi si vous voulez faire fonctionner ce code sous Nescape, une erreur sera renvoyée. Voici ce qu'il faut modifier pour que les utilisateurs de Nescape aient la date mais ils ne l' auront pas en temps réel. Si quelqu'un connait l'astuce, merci de nous la faire partager ! -->

<html>
<title>Script affichant l'heure et la date actuelle pour tous les navigateurs | by Kallimakhos</title>
<head>

<! Détermination de la version du navigateur : la balise span n'est prise en compte que pour Internet Explorer v5 minimum>
<!--[if IE 5]>
<script language="JavaScript">

function Heure() {
jours = new Array ("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
mois = new Array ("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
d=new Date;
if (d.getHours()<10) {h="0"+d.getHours()};
else {h=d.getHours()};
if (d.getMinutes()<10) {min="0"+d.getMinutes()};
else {min=d.getMinutes()};
if (d.getSeconds()<10) {sec="0"+d.getSeconds()};
else {sec=d.getSeconds()};
j=jours[d.getDay()];
if (d.getDate()<10) {n="0"+d.getDate()};
else {n=d.getDate()};
m=mois[d.getMonth()];
a=d.getYear();
txt="Nous sommes le "+j+" "+n+" "+m+" "+a+", il est : "+h+":"+min+":"+sec;
Calk.innerHTML = txt;
setTimeout("Heure()", 1000);
}
</script>
<![endif]-->

<!--[if IE 5]>
<body onload="Heure()">
<!--[else]>
<body>
<![endif]-->

<!--[if IE 5]>
<span id ="Calk"></span>
<!--[else]>
<! Affichage s'il ne s'agit pas d'IE 5 de l'heure lors du chargement de la page>
<script language="JavaScript"><!--
jours = new Array ("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");
mois = new Array ("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
d=new Date;
if (d.getHours()<10) {h="0"+d.getHours()};
else {h=d.getHours()};
if (d.getMinutes()<10) {min="0"+d.getMinutes()};
else {min=d.getMinutes()};
if (d.getSeconds()<10) {sec="0"+d.getSeconds()};
else {sec=d.getSeconds()};
j=jours[d.getDay()];
if (d.getDate()<10) {n="0"+d.getDate()};
else {n=d.getDate()};
m=mois[d.getMonth()];
a=d.getYear();
document.write("Nous sommes le "+j+" "+n+" "+m+" "+a+", il est : "+h+":"+min+":"+sec)
// --></script>
<![endif]-->

</body>

</htlm>

Conclusion :


>> Pour les novices, quelques précisions sur les commandes javascript et HTLM utilisées :
[Les pro s'abstiendront de lire ses quelques lignes mais c'est toujours utile pour ceux qui débutent]
new Array définie une nouvelle matrice qui fait correspondre le numéro du mois ou du jour avec le jours ou le mois en toutes lettres.
new Date.getHours() : récupère l'heure actuelle , idem pour Minutes et Seconds
setTimeout initialise le timer
Calk.innerHTLM = txt stocke le txt sous une variable HTLM span initialisée par <span id ="Calk"></span>
<body onload="Heure()"> Charge la procédure javasript au démarrage
document.write("texte") Inscrit le texte entre guillemets dans la page

Bonne prog à tous ;-)

N'hésitez pas à ajouter vos commentaires et à me demander des précisions sur ce code ...

Bravo à Nix pour l'ensemble de ses sites !
Et continuez tous à les enrichir !

PS : je ne voie pas d'où vient l'erreur signalée par Vincent avec 2040... chez moi tout fonctionne parfaitement !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.