Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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/

10 réponses

1 2
Avatar
Olivier Miakinen
Le 15/10/2009 15:17, Guy Gruais a écrit :

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

[...]
var Annee Úte.getYear()+0;



Le script doit être un peu ancien. Essaye donc de remplacer getYear()
par getFullYear() !

Au passage, je te signale l'existence d'un groupe consacré à JavaScript
où ta question aurait été plus en charte : fr.comp.lang.javascript.

Cordialement,
--
Olivier Miakinen
Avatar
Olivier Miakinen
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.

<http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf>
B.2.4 Date.prototype.getYear ( )
NOTE
The getFullYear method is preferred for nearly all purposes, because it
avoids the "year 2000 problem."
When the getYear method is called with no arguments the following steps
are taken:
1. Let t be this time value.
2. If t is NaN, return NaN.
3. Return YearFromTime(LocalTime(t)) − 1900.
</>

Sachant que getFullYear() retourne YearFromTime(LocalTime(t)), si cette
valeur est 2009, alors il est normal que getYear() retourne 2009 - 1900,
c'est-à-dire 109.
Avatar
Guy Gruais
Bonjour,

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

Le script doit être un peu ancien. Essaye donc de remplacer getYear()
par getFullYear() !



Merci. ça fonctionne avec les trois navigateurs.
Au passage, je me suis amusé à remplacer getMonth() par getFullMonth().
Là, ce fut la catastrophe

fr.comp.lang.javascript.



Pris bonne note

Encore merci

--
Cordialement.


http://paysderetz.free.fr/
http://fonderie.indret.free.fr/
Avatar
Olivier Miakinen
Le 15/10/2009 16:16, Guy Gruais a écrit :

getFullMonth()



:-D

C'est quoi cette bête ? Strictement inconnue de la doc de référence
JavaScript (du moins ECMA-262).
Avatar
Guy Gruais
Bonjour,

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

C'est quoi cette bête ?



Je ne connais strictement rien en JS :-(
Je m'étais dit bêtement que si l'on pouvait transformer getYear() en
getFullYear() (et obtenir ainsi un meilleur résultat), je pouvais
peut-être tenter de transformer getMonth() en getFullMonth() :-)

Ben, non ça ne marche pas. C'est aussi un peu comme ça qu'on arrive à
apprendre
Promis, j'essaierais de ne pas recommencer.

--
Cordialement.


http://paysderetz.free.fr/
http://fonderie.indret.free.fr/
Avatar
Sergio
Guy Gruais a écrit :
Bonjour,

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

var Annee Úte.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 ?



if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Avatar
Olivier Miakinen
Le 15/10/2009 18:39, Sergio a écrit :

if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...



getFullYear()

et on est tranquille jusqu'en 275760...

:-D
Avatar
SAM
Le 10/15/09 5:02 PM, Guy Gruais a écrit :
Bonjour,

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

C'est quoi cette bête ?



Je ne connais strictement rien en JS :-(



Tu sais que tu peux aussi obtenir la date côté serveur ?
Au moins on est alors assez certain d'avoir la bonne.

Bon, si c'est juste pour lastModified c'est moins important.

Encore que ...
c'est comme ça que mes pages de 1999 sont datées de 2004
(le jour où mon hébergeur a changé mon espace de support, et qu'à la
copie les lastModified ont été updatés ...)



--
sm
Avatar
SAM
Le 10/15/09 6:50 PM, Olivier Miakinen a écrit :
Le 15/10/2009 18:39, Sergio a écrit :
if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...



getFullYear()

et on est tranquille jusqu'en 275760...

:-D



Rha la la ! Cet engouement pour le moindre effort !

--
sm
Avatar
Sergio
Olivier Miakinen a écrit :
Le 15/10/2009 18:39, Sergio a écrit :
if (Annee < 1900) Annee+00 ;

et on est tranquille jusqu'en 3800...



getFullYear()

et on est tranquille jusqu'en 275760...



Oui, mais faut laisser du travail pour les informaticiens du 38ème siècle...

--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
1 2