Date et heure dans 8 pays

Le
METIS
Bonjour,
ce code qui affiche une bande avec les heures locales dans 8
villes du monde m'irait bien, ça marche dans IE6 mais ça ne
marche pas dans Firefox (chez moi donc peut-être pas dans
IE7 ?).
Quelqu'un a une idée du pourquoi ?

<html>
<head>
<title>Dashboard Clock</title>
<script language="JavaScript">
<!-- hiding
var timerID ;
function tzone(tz, os, ds, cl)
{
this.ct = new Date(0) ; // datetime
this.tz = tz ; // code
this.os = os ; // GMT offset
this.ds = ds ; // has daylight savings
this.cl = cl ; // font color
}

function UpdateClocks()
{
// www.timeanddate.com/worldclock
var ct = new Array(
new tzone('SFO: ', -8, 1, 'lime'),
new tzone('TYO: ', +9, 0, 'violet'),
new tzone('HKG: ', +8, 0, 'cyan'),
new tzone('BKK: ', +7, 0, 'yellow'),
new tzone('NYC: ', -5, 1, '#FFAA00'),
new tzone('LON: ', 0, 1, 'silver'),
new tzone('SVO: ', +3, 0, 'pink'),
new tzone('KTM: ', +5.75, 0, 'red')
) ;

var dt = new Date() ; // [GMT] time according to machine
clock

var startDST = new Date(dt.getFullYear(), 3, 1) ;
while (startDST.getDay() != 0)
startDST.setDate(startDST.getDate() + 1) ;

var endDST = new Date(dt.getFullYear(), 9, 31) ;
while (endDST.getDay() != 0)
endDST.setDate(endDST.getDate() - 1) ;

var ds_active ; // DS currently active
if (startDST < dt && dt < endDST)
ds_active = 1 ;
else
ds_active = 0 ;

// Adjust each clock offset if that clock has DS and in DS.
for(n=0 ; n<ct.length ; n++)
if (ct[n].ds == 1 && ds_active == 1) ct[n].os++ ;

// compensate time zones
gmdt = new Date() ;
for (n=0 ; n<ct.length ; n++)
ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000)
;

document.all.Clock0.innerHTML =
'<font color="' + ct[0].cl + '">' + ct[0].tz +
ClockString(ct[0].ct) + '</font>' ;

document.all.Clock1.innerHTML =
'<font color="' + ct[1].cl + '">' + ct[1].tz +
ClockString(ct[1].ct) + '</font>' ;

document.all.Clock2.innerHTML =
'<font color="' + ct[2].cl + '">' + ct[2].tz +
ClockString(ct[2].ct) + '</font>' ;

document.all.Clock3.innerHTML =
'<font color="' + ct[3].cl + '">' + ct[3].tz +
ClockString(ct[3].ct) + '</font>' ;

document.all.Clock4.innerHTML =
'<font color="' + ct[4].cl + '">' + ct[4].tz +
ClockString(ct[4].ct) + '</font>' ;

document.all.Clock5.innerHTML =
'<font color="' + ct[5].cl + '">' + ct[5].tz +
ClockString(ct[5].ct) + '</font>' ;

document.all.Clock6.innerHTML =
'<font color="' + ct[6].cl + '">' + ct[6].tz +
ClockString(ct[6].ct) + '</font>' ;

document.all.Clock7.innerHTML =
'<font color="' + ct[7].cl + '">' + ct[7].tz +
ClockString(ct[7].ct) + '</font>' ;


timerID = window.setTimeout("UpdateClocks()", 1001) ;
}

function ClockString(dt)
{
var stemp, ampm ;

var dt_year = dt.getUTCFullYear() ;
var dt_month = dt.getUTCMonth() + 1 ;
var dt_day = dt.getUTCDate() ;
var dt_hour = dt.getUTCHours() ;
var dt_minute = dt.getUTCMinutes() ;
var dt_second = dt.getUTCSeconds() ;

dt_year = dt_year.toString() ;
if (0 <= dt_hour && dt_hour < 12)
{
ampm = 'AM' ;
if (dt_hour == 0) dt_hour = 12 ;
} else {
ampm = 'PM' ;
dt_hour = dt_hour - 12 ;
if (dt_hour == 0) dt_hour = 12 ;
}

if (dt_minute < 10)
dt_minute = '0' + dt_minute ;

if (dt_second < 10)
dt_second = '0' + dt_second ;

stemp = dt_month + '/' + dt_day + '/' + dt_year.substr(2,2)
;
stemp = stemp + ' ' + dt_hour + ":" + dt_minute + ":" +
dt_second + ' ' + ampm ;
return stemp ;
}
// End -->
</script>
</head>

<!-- TARO DI BODY -->
<body onLoad="UpdateClocks()">

<!-- STEP THREE: Copy this code into the BODY of your HTML
document -->
<table border="0" cellspacing="0" width="100%">
<tr bgcolor="#000000" style="font-family: Verdana, Tahoma,
Arial; font-size: x-small">
<td id="Clock0" width="25%" > </td>
<td id="Clock1" width="25%" > </td>
<td id="Clock2" width="25%" > </td>
<td id="Clock3" width="25%" > </td>
</tr>
<tr bgcolor="#000000" style="font-family: Verdana, Tahoma,
Arial; font-size: x-small">
<td id="Clock4" width="25%" > </td>
<td id="Clock5" width="25%" > </td>
<td id="Clock6" width="25%" > </td>
<td id="Clock7" width="25%" > </td>
</tr>
</table>
</body>
</html>

--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé, mettez-moi des oranges
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #16753841
Le 08/09/2008 14:39, METIS a écrit :
[...] ça marche dans IE6 mais ça ne
marche pas dans Firefox (chez moi donc peut-être pas dans
IE7 ?).
[...]
// www.timeanddate.com/worldclock



Chez moi ça marche © (IE 7, SeaMonkey 1.1.11, Firefox 3).
SAM
Le #16753831
METIS a écrit :
Bonjour,
ce code qui affiche une bande avec les heures locales dans 8 villes du
monde m'irait bien, ça marche dans IE6 mais ça ne marche pas dans
Firefox (chez moi donc peut-être pas dans IE7 ?).
Quelqu'un a une idée du pourquoi ?



je laisse à d'autres les histoires d'heures, cependant ...

tu as vu ce que tu as écrit ?

*document.all*

n'est point du code spécifique IE ? ? ?



document.getElementById('Clock0').innerHTML = ...
document.getElementById('Clock1').innerHTML = ...
document.getElementById('Clock2').innerHTML = ...

Par chance les clocks ont un id !
--
sm
METIS
Le #16754331
Olivier Miakinen wrote:
Le 08/09/2008 14:39, METIS a écrit :
[...] ça marche dans IE6 mais ça ne
marche pas dans Firefox (chez moi donc peut-être pas dans
IE7 ?).
[...]
// www.timeanddate.com/worldclock



Chez moi ça marche © (IE 7, SeaMonkey 1.1.11, Firefox 3).



Voui, chez moi ça marche dans mon FF si j'enlève le doctype
<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">-->

Chui pas codeur, ça doit être pour ça...(;o)))

--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé, mettez-moi des oranges...
METIS
Le #16754321
SAM wrote:
METIS a écrit :
Bonjour,
ce code qui affiche une bande avec les heures locales
dans 8 villes du monde m'irait bien, ça marche dans IE6
mais ça ne marche pas dans Firefox (chez moi donc
peut-être pas dans IE7 ?). Quelqu'un a une idée du
pourquoi ?



je laisse à d'autres les histoires d'heures, cependant ...

tu as vu ce que tu as écrit ?

*document.all*



==> Alors là...
Vous m'en direz tant ma bonne dame...(;o))))))))

n'est point du code spécifique IE ? ? ?

document.getElementById('Clock0').innerHTML = ...
document.getElementById('Clock1').innerHTML = ...
document.getElementById('Clock2').innerHTML = ...

Par chance les clocks ont un id !



==>OK, il faudrait quoi alors ?
Ou quel doctype ?

Merci pour le coup de main (aïe, doucement...)

--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé, mettez-moi des oranges...
SAM
Le #16754981
METIS a écrit :
SAM wrote:

tu as vu ce que tu as écrit ?

*document.all*



==> Alors là...
Vous m'en direz tant ma bonne dame...(;o))))))))

n'est point du code spécifique IE ? ? ?

document.getElementById('Clock0').innerHTML = ...
document.getElementById('Clock1').innerHTML = ...
document.getElementById('Clock2').innerHTML = ...

Par chance les clocks ont un id !



==>OK, il faudrait quoi alors ?



c'est écrit au-dessus !

document.getElementById('Clock0')
au lieu de :
document.all.Clock0
par exemple

Si ça fonctionne dans Fx c'est sans doute qu'ils ont intégré
document.all (propriété M$) dans la version 3 (et peut-être d'autres ?)

Opera comprend ça depuis longtemps.

Ou quel doctype ?



quoi ?
Je ne pense pas que ça joue à ce niveau ?
Ha ? ! Tiens ? si ! marche pô en strict :-(
(faut dire y a tellement de saletés dans le code que ...)


Merci pour le coup de main (aïe, doucement...)



C'est là :
et mieux : (sauf pour IE ?)


--
sm
METIS
Le #16757951
SAM wrote:
...



Merci, merci, heu... merci !!! (;o))

--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé, mettez-moi des oranges...
Dr J R Stockton
Le #16759911
In fr.comp.lang.javascript message <48c51ce3$0$900$
fr>, Mon, 8 Sep 2008 14:39:04, METIS
Bonjour,
ce code qui affiche une bande avec les heures locales dans 8 villes du
monde m'irait bien,



Du monde? De la Europe Ouest, peut-etre; mais je ne vois pas aucune
provision pour les jours et heurs divers de changement des horloges
d'autre pays.


this.ct = new Date(0) ; // datetime
this.tz = tz ; // code
this.os = os ; // GMT offset
this.ds = ds ; // has daylight savings
this.cl = cl ; // font color


colour, s.v.p., en EU.

C'est le "GMT Offset" du Hiver qui regule le "Time Zone", et ne point si
il y a "Daylight Saving". Londres et Reykjavik sont de meme Time Zone.


function UpdateClocks()
{
// www.timeanddate.com/worldclock
var ct = new Array(
new tzone('SFO: ', -8, 1, 'lime'),
new tzone('TYO: ', +9, 0, 'violet'),
new tzone('HKG: ', +8, 0, 'cyan'),
new tzone('BKK: ', +7, 0, 'yellow'),
new tzone('NYC: ', -5, 1, '#FFAA00'),
new tzone('LON: ', 0, 1, 'silver'),
new tzone('SVO: ', +3, 0, 'pink'),
new tzone('KTM: ', +5.75, 0, 'red')
) ;



En SFO et NYC, le changement des horloges est on autres dates de l'EU.
Voyez, s.v.p.,
var dt = new Date() ; // [GMT] time according to machine clock

var startDST = new Date(dt.getFullYear(), 3, 1) ;
while (startDST.getDay() != 0)
startDST.setDate(startDST.getDate() + 1) ;



On peut etre plus efficace avec un peu d'arithmetique. Aussi,

var startDST = new Date() ; startDST.setMonth(3, 1) // ??



document.all.Clock0.innerHTML >' '</font>' ;

document.all.Clock1.innerHTML >' '</font>' ;
...




On peut se servir d'un fonction ici, peut-etre avec corps comme

document.all["Clock"+K].innerHTML ' '</font>' ;

document.all, c'est passé.

timerID = window.setTimeout("UpdateClocks()", 1001) ;



1001? Ca perdrera presque une seconde par quart de l'heure, n'est-ce
pas? Je me sers de
var D = new Date() ; setTimeout("TimeNow()", 1050-D.getTime()%1000)
pour recommencer la fonction vers la cinquantieme milliseconde de chaque
seconde.


if (0 <= dt_hour && dt_hour < 12)
{
ampm = 'AM' ;
if (dt_hour == 0) dt_hour = 12 ;
} else {
ampm = 'PM' ;
dt_hour = dt_hour - 12 ;
if (dt_hour == 0) dt_hour = 12 ;
}



Mort au horloge de 12 heures. Seulement les Americaines ne savent pas
mieux.


stemp = dt_month + '/' + dt_day + '/' + dt_year.substr(2,2) ;



Mort au FFF. Encore les Americaines inintelligents.



Voyez, s.v.p.,
C'est une bonne idée de lire le newsgroup clj et sa FAQ. Voir ci-dessous.

--
(c) John Stockton, nr London UK. ?@merlyn.demon.co.uk IE7 FF2 Op9 Sf3
news:comp.lang.javascript FAQ
METIS
Le #16773481
Merci pour l'effort d'écrire en francais !!
Très intéressant tout celà.
Pour ma part, je ne code pas.
Donc je ne sais pas trop quoi faire avec ces remarque.
Comment modifier le code précédent (copy/past sur un site,
je ne sais plus lequel) pour avoir mieux ?
Par exemple, je ne sais pas si ce code tient compte de
l'heure d'hiver.

Le but est juste d'avoir la date et l'heure locale de
quelques grandes villes, par exemple :
Paris, Londres, New York, Pekin, Changaï, Singapour, Tokyo,
Hong Kong.


Dr J R Stockton wrote:
In fr.comp.lang.javascript message
2008 14:39:04, METIS
Bonjour,
ce code qui affiche une bande avec les heures locales
dans 8 villes du monde m'irait bien,



Du monde? De la Europe Ouest, peut-etre; mais je ne vois
pas aucune provision pour les jours et heurs divers de
changement des horloges d'autre pays.


this.ct = new Date(0) ; // datetime
this.tz = tz ; // code
this.os = os ; // GMT offset
this.ds = ds ; // has daylight savings
this.cl = cl ; // font color


colour, s.v.p., en EU.

C'est le "GMT Offset" du Hiver qui regule le "Time Zone",
et ne point si il y a "Daylight Saving". Londres et
Reykjavik sont de meme Time Zone.


function UpdateClocks()
{
// www.timeanddate.com/worldclock
var ct = new Array(
new tzone('SFO: ', -8, 1, 'lime'),
new tzone('TYO: ', +9, 0, 'violet'),
new tzone('HKG: ', +8, 0, 'cyan'),
new tzone('BKK: ', +7, 0, 'yellow'),
new tzone('NYC: ', -5, 1, '#FFAA00'),
new tzone('LON: ', 0, 1, 'silver'),
new tzone('SVO: ', +3, 0, 'pink'),
new tzone('KTM: ', +5.75, 0, 'red')
) ;



En SFO et NYC, le changement des horloges est on autres
dates de l'EU. Voyez, s.v.p.,

var dt = new Date() ; // [GMT] time according to machine
clock

var startDST = new Date(dt.getFullYear(), 3, 1) ;
while (startDST.getDay() != 0)
startDST.setDate(startDST.getDate() + 1) ;



On peut etre plus efficace avec un peu d'arithmetique.
Aussi,

var startDST = new Date() ; startDST.setMonth(3, 1) // ??



document.all.Clock0.innerHTML >> ' ClockString(ct[0].ct) + '</font>' ;

document.all.Clock1.innerHTML >> ' ClockString(ct[1].ct) + '</font>' ;
...




On peut se servir d'un fonction ici, peut-etre avec corps
comme

document.all["Clock"+K].innerHTML > ' ClockString(ct[K].ct) + '</font>' ;

document.all, c'est passé.

timerID = window.setTimeout("UpdateClocks()", 1001) ;



1001? Ca perdrera presque une seconde par quart de
l'heure, n'est-ce pas? Je me sers de
var D = new Date() ; setTimeout("TimeNow()",
1050-D.getTime()%1000) pour recommencer la fonction vers
la cinquantieme milliseconde de chaque seconde.


if (0 <= dt_hour && dt_hour < 12)
{
ampm = 'AM' ;
if (dt_hour == 0) dt_hour = 12 ;
} else {
ampm = 'PM' ;
dt_hour = dt_hour - 12 ;
if (dt_hour == 0) dt_hour = 12 ;
}



Mort au horloge de 12 heures. Seulement les Americaines
ne savent pas mieux.


stemp = dt_month + '/' + dt_day + '/' +
dt_year.substr(2,2) ;



Mort au FFF. Encore les Americaines inintelligents.



Voyez, s.v.p.,

C'est une bonne idée de lire le newsgroup clj et sa FAQ.
Voir ci-dessous.



--
<|[;o)) METIS
http://www.graphM.com
Pour m'écrire en privé, mettez-moi des oranges...
Dr J R Stockton
Le #16777971
En fr.comp.lang.javascript message <48c79cfa$0$949$
fr>, 10 Sep 2008 12:06:28, METIS
Merci pour l'effort d'écrire en francais !!
Très intéressant tout celà.
Pour ma part, je ne code pas.
Donc je ne sais pas trop quoi faire avec ces remarque.



Employez un programmeur, ou demandez à un ami. Ou faire votre propre
classe!

Comment modifier le code précédent (copy/past sur un site, je ne sais
plus lequel) pour avoir mieux ?



Redémarrez.

Par exemple, je ne sais pas si ce code tient compte de l'heure d'hiver.

Le but est juste d'avoir la date et l'heure locale de quelques grandes
villes, par exemple :
Paris, Londres, New York, Pekin, Changaï, Singapour, Tokyo, Hong Kong.



Prenez des copies de l'ensemble de ma page js-date5.htm, et les fichiers
qu'il utilise (include1.js, include3.js). Veillez à ce que l'article
‹Specific Location, Generally, Dynamic" est en cours d'exécution.
Modifier le contenu de l'entrée 'textarea' pour traiter avec les villes
de votre choix. Ensuite, enlever tout ce que vous n'avez pas besoin, en
vérifiant à chaque fois que l'écran fonctionne encore. Pour ce faire,
déplacez le code qui est nécessaire de comprendre les fichiers dans la
page principale.

Ne choisissez pas dans les villes Maurice, Maroc, l'Iran ou Israël. Ils
ont été incompatibles règles relatives au temps.

Je n'ai pas donner l'autorisation pour faire le lien avec et utiliser
mon propre copie des fichiers à Merlyn.

--
(c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05.
Web PAS EXE etc : Dates - miscdate.htm moredate.htm js-dates.htm pas-time.htm critdate.htm etc.
Dr J R Stockton
Le #16807361
En fr.comp.lang.javascript message <Pkx6IiJya+
.merlyn.invalid>, Mercredi, 10 Sept 2008 16:24:34, Dr J R Stockton

Je n'ai pas donner l'autorisation pour faire le lien avec et utiliser
mon propre copie des fichiers à Merlyn.



J'aurais dû écrite "des fichiers include*.js et ????-inc.js à
Merlyn."

--
(c) John Stockton, nr London, UK. ?@merlyn.demon.co.uk Turnpike v6.05 IE 7.
Web I find MiniTrue useful for viewing/searching/altering files, at a DOS prompt;
free, DOS/Win/UNIX,
Publicité
Poster une réponse
Anonyme