Problème affichage date mise à jour

Signaler
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonsoir à tous,

J'ai un petit soucis, sinon je ne viendrais pas vous poser la question.

J'ai un script Javascript sur une de mes pages, sui me permet de faire afficher la date de mise à jour du fichier en cours.

Seulement, il ne m'affiche pas forcement ce que je veux. En effet, en fonction du navigateur je n'ai pas le même résultat.

Voilà mon script :

function maj() // Fonction affichant la date de dernière mise à jour du fichier en cours
{
var derniereModif=document.lastModified;
var dateModif=new Date(derniereModif);
var jour=dateModif.getDate();
var mois=dateModif.getMonth();
var annee=dateModif.getFullYear();
var heures=dateModif.getHours();
var minutes=dateModif.getMinutes();

if(jour<10)
{
jour='0'+jour;
}
if(mois<10)
{
mois='0'+mois;
}
if(heures<10)
{
heures='0'+heures;
}
if(minutes<10)
{
minutes='0'+minutes;
}

var print='Mise à jour effectuée le : '+jour+'/'+mois+'/'+annee+' à '+heures+':'+minutes;

if(document.getElementById("maj"))
{
document.getElementById("maj").innerHTML=print;
}
}

Si j'utilise IE 7, voilà le résultat que j'ai :
"Mise à jour effectuée le : 06/00/2009 à 23:25"

Si j'utilise Mozilla Firefox 3.0.5, voilà le résultat que j'ai :
"Mise à jour effectuée le : 06/00/2009 à 23:25"

Si j'utilse Opéra 9.63, voilà le résultat que j'ai :
"Mise à jour effectuée le : 01/00/1970 à 01:00"

Si quelqu'un pouvais m'aider pour avoir le bon affichage et me dire où se trouve mon erreur car ça fait plus de 3 jours que je cherches mais rien.

Donc voilà en espérant avoir été précis.

Par avance, merci.

Bien cordialement.

rgdu86

8 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,
bah.. je viens d'essayer, et avec les dernières version de plusieurs
navigateurs, ça me donne la même chose ( opera, ff, ie... ) :
Mise à jour effectuée le : 07/00/2009 à 11:02
donc tout est correct, sauf le mois, puisqu'il varie de 0 à 11
Cordialement          [mon Site] [M'écrire] Bul         
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014

Sauf que sous Opéra 9.63, c'est toujours 01/00/1970 à 01:00 qui apparaît.

Donc comment faire pour que la date apparaisse correctement ?

Par avance, merci.

Bien cordialement.

rgdu86
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
je viens d'essayer alert(document.lastModified);
ça affiche : Thu, 08 Jan 2009 07:35:33 GMT
donc le script : 08/00/2009 à 08:37
tout baigne... Opera 9.63
          [mon Site] [M'écrire] Bul         
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
17
Bonjour à tous,
Tester, et comme TheBul3, no problem ?????
;O)
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014

Je penses que le problème vient du fait que je sois en localhost.

En effet, j'utilise EasyPHP pour faire la simulation de mon site.

Je vais continuer mes recherches.

Bien cordialement.

rgdu86
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
17
Bonjour,
Une autre solution peut être approchée
comme ceci
Création d'une balise META
comme suit
<meta
name="date" content="01/01/2008">
par exemple, puis récupération
du content de celle ci pour affichage...

Avantage
- c'est la date de la mise à jour que tu as effectuée et non
celle ou tu l'as mis sur le serveur.

Inconvénient
- il te faut la tenir
à jour...

;O)
Messages postés
275
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 juillet 2014

Ok mais comment je récupère le content du META ?
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
17
le plus simplement du monde...
//-- Get Objet

var Obj = document.getElementsByName( "date")
//-- Si existe
if( Obj[0]) {
  alert(
Obj[0].content);
That's All Folks !..
;O)