Pb Calendrier Javascript

Fermé
Lola - 31 août 2009 à 10:11
 le père - 31 août 2009 à 17:17
Bonjour,
J'ai un problème avec un calendrier javascript. Il marche bien mais je viens de m'apercevoir que les mois de septembre et novembre sont faussés: il affiche le 1er septembre un jeudi alors que c'est demain...

Je suis novice en javascript, et c'est un script que j'ai récupérer sur un site.

Voilà le code: http://pastebin.com/m1bd211f6

Merci de m'aider je galère...

:) Lola
A voir également:

1 réponse

Bonjour

Pas facile à trouver, ce bug là...
Il se produit justement en fin de mois (pas tous, je n'entre pas dans les détails...)
il faut déplacer une ligne dans ds_draw_calendar(m, y) :

// Make a date object.
	var ds_dc_date = new Date();
	ds_dc_date.setDate(1);
	ds_dc_date.setMonth(m - 1);
	ds_dc_date.setFullYear(y);


L'idée, c'est que quand on fait le new Date() il prend la date du jour.
Quand on fait le SetMonth (m-1) après, on change le mois. Mais si on est le 31 et que le mois m-1 n'a que 30 jours, (par exemple septembre) on passe au "31 septembre" qui devient 1er octobre. C'est donc le mois d'octobre qui est affiché (sauf sans le titre qui a été affiché avant).
Il suffit donc de faire le setDate(1) qui force le 1er du mois, avant le setMonth
1