S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
837 utilisateurs connectés

DATE - Script qui ne fonctionne pas le 31 ?

wmjuan le 31 octobre 2008 à 19h09

Bonjour

J'ai créé un petit script suite à un bug apparu sur un calendrier Javascript ( Dynamic Date Selector ) que j'utilise depuis plus d'un an. ( aujourd'hui 31 octobre 2008, j'ai utilisé mon calendrier et celui m'a annoncé que le 1er novembre serait un lundi...)

Voici le petit script que j'ai créé pour débugger et comprendre :

<html>
<head>
<body>

<script type="text/javascript">

var tabNomJour = ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"];
var jour = 1; // Jour 1 du mois
var mois = 9; // Mois de septembre
var annee = 2008; // Année 2008
var moisJavascript = mois-1; // Mois de septembre (puisque les mois javascript vont de 0 à 11)



/**************************************************************************************/
/* Première méthode qui fonctionne tout les jours sauf le 31 */
/**************************************************************************************/

// Création d'un objet date (sans paramètre)
var objetPremier = new Date();

// Détermination du mois de l'objet date
objetPremier.setMonth(moisJavascript);

// Détermination de l'année de l'objet date
objetPremier.setFullYear(annee);

// Détermination du jour de l'objet date avec le 1 du mois
objetPremier.setDate(jour);



// Obtention du numéro du jour de la semaine du 01 septembre 2008
numJourSemainePremier = objetPremier.getDay();

// Affichage du numéro du jour de la semaine du 01 septembre 2008
alert("Le "+jour + "/" + mois + "/" + annee + " est un " + tabNomJour[numJourSemainePremier])+" ("+numJourSemainePremier+")";




/**************************************************************************************/
/* Seconde méthode qui fonctionne tout les jours */
/**************************************************************************************/


// Création d'un objet date au 1 septembre 2008
var objetSecond = new Date(annee,moisJavascript,jour);

// Obtention du numéro du jour de la semaine du 01 septembre 2008
numJourSemainePremier = objetSecond.getDay();

// Affichage du numéro du jour de la semaine du 01 septembre 2008
alert("Le "+jour + "/" + mois + "/" + annee + " est un " + tabNomJour[numJourSemainePremier])+" ("+numJourSemainePremier+")";



</script>

</body>

</html>

La seconde méthode est la solution que j'ai trouvé à mon problème..

A tester sur http://wmjuan.free.fr/date_javascript/test_date.html

Normalement les deux scripts doivent donner le même résultat, non?

Eh bien si vous testez ce script le 31 octobre 2008 (ou un autre mois )
Vous n'obtenez pas les mêmes résultats...

Et si vous testez ce script un autre jour que le 31 ( quelque soit le mois ), vous obtenez alors les mêmes résultats...

Alors la question c'est pourquoi le premier script (méthode utilisée dans le calendrier Javascript que j'utilise ) ne fonctionne pas les 31 de chaque mois?

Sérieux ?


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Logiciel : Internet Download Manager
Optimisez la gestion de vos téléchargements.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.