Erreur de date dans Ie ou Firefox

Résolu/Fermé
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010 - 20 déc. 2010 à 15:02
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010 - 20 déc. 2010 à 21:31
Bonjour,

Je m'arrache les cheveux à comprendre pourquoi le résultat de ce javascript ne fonctionne pas exactement sur Internet Explorer ou Firefox selon comme il est écrit:

Comme ça il fonctionne dans Firefox mais pas Ie (année 3910 !!!)
<script LANGUAGE="JavaScript">

<!-- Begin
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate = new Date();
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
weekday= myweekday;
myyear= mydate.getYear();
myhours = mydate.getHours();
ampmhour = (myhours > 24) ? myhours - 24 : myhours;
ampm = (myhours >= 12) ? ' après-midi' : ' matin';
mytime = mydate.getMinutes();
myminutes = ((mytime < 10) ? ':0' : ':') + mytime;
year = (myyear > 99) ? myyear : 1900 + myyear;
if(myday == 0)
day = " Dimanche ";
else if(myday == 1)
day = " Lundi ";
else if(myday == 2)
day = " Mardi ";
else if(myday == 3)
day = " Mercredi ";
else if(myday == 4)
day = " Jeudi ";
else if(myday == 5)
day = " Vendredi ";
else if(myday == 6)
day = " Samedi ";
if(mymonth == 0) {
month = "janvier ";}
else if(mymonth ==1)
month = "février ";
else if(mymonth ==2)
month = "mars ";
else if(mymonth ==3)
month = "avril ";
else if(mymonth ==4)
month = "mai ";
else if(mymonth ==5)
month = "juin ";
else if(mymonth ==6)
month = "juillet ";
else if(mymonth ==7)
month = "août ";
else if(mymonth ==8)
month = "septembre ";
else if(mymonth ==9)
month = "octobre ";
else if(mymonth ==10)
month = "novembre ";
else if(mymonth ==11)
month = "décembre ";
// End -->
</script>
<table border="0" width="100%" align="center">
<tr>
<td width="100%" align="center" valign="top"><font face="Arial"><script>
document.write("<b><font color=#ffffff size='2' face='arial'>" + "Nous sommes le")
document.write(day + myweekday + " " + month);
document.write(year + "<br>il est ");
document.write(myhours + "h" + myminutes +"</font>");
</script> </font></td>
</tr>
</table>


Si je change la ligne:
year = (myyear > 99) ? myyear : 1900 + myyear;

en:
year = (myyear > 99) ? myyear + 1900 : myyear;

l'année est affichée correctement dans Ie mais pas dans Firefox qui indique 110.

Quelqu'un pourrait m'aider ?

Question subsidiaire: Comment puis-je externaliser mon script (horloge.js) et le faire fonctionner correctement ?

Merci d'avance pour vos suggestions et bonnes fêtes de fin d'année.

A voir également:

2 réponses

Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
20 déc. 2010 à 15:30
Tu veut afficher la date sur ton site ?
0
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010
20 déc. 2010 à 17:49
Oui, selon le format suivant:

Nous sommes le Lundi 20 décembre 2010
il est 17h:48

Merci encore de t'y intéresser
0
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
20 déc. 2010 à 18:01
Je peut t'aider en mettant la date sous la forme :
Nous sommes le 20/12/2010
Il est 18h01


Pour cela il faut que tu insère du PHP dans ton code (en haut du code de préférence) :

<php
$date = date("d/m/Y");
$heure = date("H\hi");
?>


Après sa dépend

-Si ton code est en PHP tu insère ce code ou tu veut que la date soit mise :
Nous sommes le $date\nIl est $heure

-Si ton code est en HTML tu insère ce code ou tu veut que la date soit mise :
Nous sommes le <? echo $date ?><br>
Il est <? echo $heure ?>
0
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
20 déc. 2010 à 18:02
PS : Sa change ton code immense, de mon code a 5 lignes :p
0
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010
20 déc. 2010 à 18:28
Merci Aka, mais il ne semble pas fonctionner, ça n'affiche que les texte mais pas les dates:

Nous sommes le
Il est

et j'aimerais assez garder le format de base que j'avais avant dans ma page html:

Nous sommes le Lundi 20 décembre 2010
il est 18h:28
0
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010
20 déc. 2010 à 19:10
J'ai presque réussi avec ce script:

<script type="text/javascript">
d = new Date();
document.write("<p>Nous sommes le <span style='color:#fff;'>");
document.write(d.toLocaleDateString());
document.write("</span><br>");
document.write("<p>Il est <span style='color:#fff;'>");
document.write(d.toLocaleTimeString());
document.write("</span></p>");
</script>

Mais peut-on n'afficher que les heures et minutes, sans les secondes ?
0
Musicboxpro Messages postés 5 Date d'inscription samedi 15 septembre 2007 Statut Membre Dernière intervention 20 décembre 2010
20 déc. 2010 à 21:31
Voilà, je vais me contenter de ce script:

<script type="text/javascript">
d = new Date();
h = d.toLocaleTimeString();
document.write("<p>Nous sommes le <span style='color:#fff;'>");
document.write(d.toLocaleDateString());
document.write("</span><br>");
document.write("<p>Il est <span style='color:#fff;'>");
document.write(h.substr(0, 5));
document.write("</span></p>");

</script>

Un grand merci à Aka13 et mon pote Tob' pour votre aide et mes meilleurs voeux à tous pour les fêtes de fin d'année.
0