Date en Javascript

Le
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 Ú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 ?

Merci.

--
Cordialement.

guy.siaurg@free.invalid
http://paysderetz.free.fr/
http://fonderie.indret.free.fr/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #22048041
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
Olivier Miakinen
Le #22048031
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.

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.
Guy Gruais
Le #22048021
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/
Olivier Miakinen
Le #22048011
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).
Guy Gruais
Le #22048001
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/
Sergio
Le #22047991
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
Olivier Miakinen
Le #22047981
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
SAM
Le #22047971
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
SAM
Le #22047961
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
Sergio
Le #22047951
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
Publicité
Poster une réponse
Anonyme