OVH Cloud OVH Cloud

Date en Javascript

18 réponses
Avatar
Guy Gruais
Bonjour,

J'ai pompé sur le web un script en JS pour que la date de modification
de la page soit changée automatiquement.

Voici le script :

<SCRIPT type="text/javascript">
function Tableau(n) {
this.length=n;
return this; }

function DateModif()
{
NomMois =new Tableau(12);
NomMois[1] ="Janvier";
NomMois[2] ="Février";
NomMois[3] ="Mars";
NomMois[4] ="Avril";
NomMois[5] ="Mai";
NomMois[6] ="Juin";
NomMois[7] ="Juillet";
NomMois[8] ="Août";
NomMois[9] ="Septembre";
NomMois[10]="Octobre";
NomMois[11]="Novembre";
NomMois[12]="Décembre";
Date =new Date(document.lastModified);
var Mois =NomMois[Date.getMonth()+1];
var Annee =Date.getYear()+0;
return Date.getDate()+" "+Mois+" "+Annee;
}
</SCRIPT>

Si IE et Opera affichent bien l'année 2009, Firefox s'entête à afficher
109 !!
Quelqu'un peut me dire pourquoi ?

Merci.

--
Cordialement.

guy.siaurg@free.invalid
http://paysderetz.free.fr/
http://fonderie.indret.free.fr/

8 réponses

1 2
Avatar
era
Sergio a écrit :

if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...



Mais comment feras tu en 3801 ?
Dis le moi pour que je sois prêt !

--
era
http://tk5yp.fr/webcam/calvi_revelata.htm
Avatar
Olivier Miakinen
Le 17/10/2009 09:42, era a écrit :

if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...



Mais comment feras tu en 3801 ?



Il fera comme moi en 275761

Dis le moi pour que je sois prêt !



Prépare-toi bien !

--
Olivier Miakinen
Avatar
era
Olivier Miakinen a écrit :
Le 17/10/2009 09:42, era a écrit :

if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...




Mais comment feras tu en 3801 ?




Il fera comme moi en 275761


Dis le moi pour que je sois prêt !




Prépare-toi bien !



Alors rendez-vous le 1er janvier 3801
aux premières heures du matin si on
a pas la gueule de bois !

--
era
http://tk5yp.fr/webcam/calvi_revelata.htm
Avatar
rm
Salut Olivier,
Le jeudi 15 octobre 2009 à 16:15, Olivier Miakinen a écrit :

Je n'ai pas complètement répondu à ta question en te disant *pourquoi*
Firefox répond 109 au lieu de 2009.

Le 15/10/2009 15:17, Guy Gruais a écrit :

[getYear()]

Si IE et Opera affichent bien l'année 2009, Firefox s'entête à afficher
109 !!
Quelqu'un peut me dire pourquoi ?



Firefox est le seul à respecter le standard ECMA-262.



Quelle édition ?

<http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf>
B.2.4 Date.prototype.getYear ( )



Ce que tu cites figure dans une _annexe_ de la spécification ECMA-262,
troisième édition, dans laquelle il est précisé:
« This non-normative annex suggests uniform semantics for such properties
without making the properties or their semantics part of this standard. ».
Donc il semblerait que cette annexe se contente de suggérer plus que
d'imposer l'interprétation standardisée/normalisée de ce getYear().
Concernant Opera, depuis la version 9.5 et pour des raisons de
compatibilité « cross-browser » comme ils disent, getyear() retourne
l'année complète pour les année > 1999 et < 1900. Cela n'est pas conforme
bien sûr avec la norme ECMA, première édition (ES1) de 1997 (et seconde
édition) qu'Opera (versions < 9.5) respectait et que Firefox continue à
suivre ;)

@+
--
rm - http://opera-fr.com
Avatar
Olivier Miakinen
Le 19/10/2009 09:38, rm a écrit :

<http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf>
B.2.4 Date.prototype.getYear ( )



Ce que tu cites figure dans une _annexe_ de la spécification ECMA-262,
troisième édition, dans laquelle il est précisé:
« This non-normative annex suggests uniform semantics for such properties
without making the properties or their semantics part of this standard. ».
Donc il semblerait que cette annexe se contente de suggérer plus que
d'imposer l'interprétation standardisée/normalisée de ce getYear().



Bien vu, et merci de la précision. Note que le « draft final » de la
version 5 suggère toujours la même implémentation, respectée par Firefox
comme l'écrivait Guy (je n'ai pas vérifié), mais bien sûr toujours sans
en faire une norme.

Concernant Opera, depuis la version 9.5 et pour des raisons de
compatibilité « cross-browser » comme ils disent, getyear() retourne
l'année complète pour les année > 1999 et < 1900. Cela n'est pas conforme
bien sûr avec la norme ECMA, première édition (ES1) de 1997 (et seconde
édition) qu'Opera (versions < 9.5) respectait et que Firefox continue à
suivre ;)



La conclusion qu'il faut en tirer, c'est de ne *surtout pas* utiliser
cette fonction getYear() qui, outre qu'elle ne fait pas partie de la
norme, se comporte différemment d'un navigateur à un autre.
Avatar
Guy Gruais
Bonjour,

Vous allez être infiniment heureux d'apprendre que Olivier Miakinen
vient d'écrire :

La conclusion qu'il faut en tirer, c'est de ne *surtout pas* utiliser
cette fonction getYear() qui, outre qu'elle ne fait pas partie de la
norme, se comporte différemment d'un navigateur à un autre.



Malheureusement comment un néophyte qui ne connaît pas le JS peut-il
savoir que le script qu'il vient de trouver sur le net ne respecte pas
certaines recommandations ?
A moins de tester comme je l'ai fait avec plusieurs navigateurs.

--
Cordialement.


http://paysderetz.free.fr/
http://fonderie.indret.free.fr/
Avatar
CrazyCat
Guy Gruais wrote:
La conclusion qu'il faut en tirer, c'est de ne *surtout pas* utiliser
cette fonction getYear() qui, outre qu'elle ne fait pas partie de la
norme, se comporte différemment d'un navigateur à un autre.


Malheureusement comment un néophyte qui ne connaît pas le JS peut-il
savoir que le script qu'il vient de trouver sur le net ne respecte pas
certaines recommandations ?
A moins de tester comme je l'ai fait avec plusieurs navigateurs.



Je pense que le néophyte aura cherché la fonction sur son moteur de
recherche et aura peut-être trouvé de bons sites qui l'explique.

Mais de toutes manières, néophyte ou pas, on teste toujours sur
différents navigateurs sitôt qu'il s'agit de CSS ou de JS, les
comportements dépendant des navigateurs.

Tu as donc eu la bonne démarche.

Tiens, un point supplémentaire: d'en avoir discuté ici va créer d'autres
références sur le sujet, ce qui aidera les prochains.

--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Avatar
Guy Gruais
Bonjour,

Vous allez être infiniment heureux d'apprendre que CrazyCat vient
d'écrire :


Tu as donc eu la bonne démarche.



J'en suis tout rouge de confusion :-)

--
Cordialement.


http://paysderetz.free.fr/
http://fonderie.indret.free.fr/
1 2