Afficher les dates et heures de différentes capitales en temps réel


present.gif (1424 octets)

Sur certains sites, il peut être amusant (et parfois utile) d'afficher l'heure qu'il est ailleurs dans le monde et en temps réel


exemple.gif (1055 octets)

Date et Heure GMT :

à Paris :

à Montréal :

à Bombay, Calcutta, Madras, New Delhi :

à Bangkok, Hanoi, Djakarta :

à Pékin, Chongquing, Hong Kong, Singapour:

à Osaka, Sapporo, Tokyo, Séoul :


script.gif (838 octets)

var dpaJJ déclarartion des variables: jour, mois, année

var dpaMM

var dpaAAAA

c=0 bisextile à zéro

function RetourneDate(I){
la fonction majeure du programme qui va calculer l'heure GMT actuelle et déterminer les autres heures, vous n'avez pas à toucher à cette fonction, pour les curieux quelques explications en rouge

var HerDate= new Date() la variable qui détermine la date actuelle en millisecondes à partir du 1/1/1970

ecart = I * 60 * 1000; ecart et sa variable I représente le décalage horaire, I est exprimé en minutes, il peut être positif ou négatif

dpaDate= HerDate.getTime() + ecart; HerDate.getTime() est la date GMT en millisecondes

dpaDateS=dpaDate/1000; qu'on raméne en secondes

jour=parseInt(dpaDateS/86400)-5 puis en jours en déduisant 5, le nombre d'années bisextiles depuis 1970

annee=parseInt(jour/366) détermine le nombre d'années écoulées depuis 1970

if (((annee+1970)/4)==parseInt((annee+1970)/4)){c=1}si l'année est divisible par 4, elle est bisextile

restann=dpaDateS-(annee*365*86400)-(6*86400) combien de jours restent-ils aprés tout ça?

moisjour=parseInt(restann/86400) et c'est là le probléme, les mois ne sont pas égaux (remarquez la variable c qui prend en compte les bisextiles), la variable mj2 va prendre la valeur nécessaire en fonction du mois concerné

if (moisjour<=31) {
mois=1
mj2=0;}
else if (moisjour<=59+c){
mois=2
mj2=31;}
else if (moisjour<=90+c){
mois=3
mj2=59+c;}
else if (moisjour<=120+c){
mois=4
mj2=90+c;}
else if (moisjour<=151+c){
mois=5
mj2=120+c;}
else if (moisjour<=181+c){
mois=6
mj2=151+c;}
else if (moisjour<=212+c){mois=7
mj2=181+c;}
else if (moisjour<=243+c){mois=8
mj2=212+c;}
else if (moisjour<=273+c){mois=9
mj2=243+c;}
else if (moisjour<=304+c){
mois=10
mj2=273+c;}
else if (moisjour<=334+c){
mois=11
mj2=304+c;}
else if (moisjour<=365+c){
mois=12
mj2=334+c;}
else if (moisjour>365+c){mois=1
annee=annee+1
mj2=365+c;}

restmoi = restann-(mj2*86400)
jours=parseInt(restmoi/86400)
à partir de mj2 on détermine la date du mois
restsec= dpaDateS-((jour+5)*86400)
il ne reste plus qu'à déterminer les heures et minutes
heurs=Math.floor(restsec/3600)
minut= Math.floor((restsec-(heurs*3600))/60)
on reporte les résultats dans les variables ad hoc
dpaJJ=jours
dpaMM=mois
dpaAAAA=annee+1970

if (minut<10){ on entre ça dans une chaine de caractéres formatée et on fignole au cas où les minutes n'auraient qu'un chiffre
string=" "+dpaJJ+'/'+dpaMM+'/'+dpaAAAA+' - '+heurs+' H 0'+minut+' mn ';}
else {string=" "+dpaJJ+'/'+dpaMM+'/'+dpaAAAA+' - '+heurs+' H '+minut+' mn ';}
}

function heur(){

la fonction la plus importante pour l'utilisateur

RetourneDate(0) renvoie à la fonction précédente, le chiffre entre parenthéses représente le décalage horaire par rapport à l'heure GMT (méridien de Greenwich), ici 0 puisque c'est l'heure en question

document.forms[0].elements[0].value=string; affichage du résultat dans le formulaire ci-dessous dont la présentation ne dépend que de vous, attention à l'incrémentation des cases de ce formulaire et donc des villes et donc des heures !!

RetourneDate(+120) ça c'est pour Paris, en heure d'été, en hiver il faut mettre 60 !! (ce décalage doit disparaitre depuis plusieurs années !!)

document.forms[0].elements[1].value=string;

RetourneDate(-240) etc........
document.forms[0].elements[2].value=string;
RetourneDate(+330)
document.forms[0].elements[3].value=string;
RetourneDate(420)
document.forms[0].elements[4].value=string;
........................

setTimeout('heur()',30000); cette instruction, à mettre à la fin de cette procédure assure l'actualisation de l'heure en millisecondes (ici 30 secondes)

}</script>

IMPORTANT: aprés body écrire: onload="heur();"
soit:

<body onload="heur();">

<form> le formulaire à votre goût

<div align="left"><table border="0" width="100%"><tr><td width="60%"><p align="right"><font color="#0000A0" size="4" face="Times New Roman">
Date et Heure GMT :</font></p></td><td valign="top" width="40%"><font color="#0000A0"size="4" face="Times New Roman"><input type="text" size="20" name="1" value=" "></font></td></tr><tr><td width="60%"><p align="right"><font color="#0000A0" size="4">à </font><font color="#0000A0" size="4" face="Times New Roman">Paris:</font></p></td><td valign="top" width="40%"><font color="#0000A0"size="4" face="Times New Roman"><input type="text"size="20" name="2" value=" "></font></td></tr></table></div></form></body></html>


ramses.gif (3062 octets)

Téléchargez le script

ramses2.gif (3094 octets)

Retour