Erreur dans l'objet Data Javascript

Fermé
HuGuEs - 14 avril 2005 à 18:43
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 - 14 avril 2005 à 21:03
Bonjour,

J'ai remarqué une erreur concernant l'objet Date et impossible de trouver une solution.

Je veux créer un objet Date en javascript correspondant au 31 mars 2005.
Je fais donc :
Date tmp = new Date();
tmp.setDate('31');
tmp.setMonth('02');
tmp.setFullYear('2005');

J'ai également essayer :
tmp = Date('2005','02','31');

Mais aucune des 2 méthodes ne fonctionnent !!!

La date renvoyé est le O1 mars 2005 (il se comporte comme si la date était invalide ...) or quand je regarde mon calendrier je vois bien que le 31 mars existe !!!

Merci d'avance pour votre aide.
A voir également:

4 réponses

Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
14 avril 2005 à 20:45
Je crois avoir compris la cause de ton problème !
La fonction utilise le mois courant (ici avril, à 30 jours) pour modifier le jour.
Il faudrait donc commencer par l'année (qui peut être bissextile), puis le mois, et enfin le jour.
1
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
14 avril 2005 à 19:28
Pense à mettre SELFHTML dans tes favoris !

Dans l'immédiat, tu peux consulter la page :
http://fr.selfhtml.org//javascript/objets/date.htm
Les références soulignées sont cliquables, et permettent d'accéder à des explications et des exemples.
0
Salut,

Merci pour ta réponse mais ca ne répond pas du tout à ma question.

Je connais le fonctionnement de l'objet Date.
Mon application est un peu plus compliqué que l'exemple donné.
Mais j'ai une erreur quand je saisie la date 31 mars 2005.

J'ai l'impression que pour Javascript la date 31 mars 2005 n'existe pas pour Javascript alors que dans la réalité elle existe bien !!!

Si tu as une idéee ?
0
S'lut

Euh non je crois que tu as pas très bien regardé mon message.

J'ai bien pensé à mettre mois-1 (eh oui je sais que les mois partent de 0)

Je suis donc sur le bon mois ...

La preuve si je change le jour (que je mets par exemple 30 ou 1) et que je fais afficher la date : j'ai le bon jour (lundi, mardi ...) le bon mois (janv, fevr, ...) et la bonne année d'affichée ...

Une idée ???
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
14 avril 2005 à 21:03
var tmp = new Date(); ------ Thu Apr 14 20:56:53 UTC+0200 2005
tmp.setFullYear(2005); ----- Thu Apr 14 20:56:53 UTC+0200 2005
tmp.setMonth(2); ----------- Mon Mar 14 20:56:53 UTC+0100 2005
tmp.setDate(31); ----------- Thu Mar 31 20:56:53 UTC+0200 2005
0