begin process at 2012 05 29 16:44:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Javascript

 > 

Archives

 > 

AU SECOURS !!!

 > 

Problème Fonction Date()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème Fonction Date()

vendredi 10 juin 2005 à 19:50:29 | Problème Fonction Date()

padam90

Bonjour,

j'utilise une fonction Javascript pour formater une date et la modifier. Or les fonctions de date ne me renvoient pas la valeur voulue !
la valeur de la date en entree est de type :  20050531000000000, représentant yyyyMMddhhmmss... les trois derniers carateres etant les millisecondes. Lorsque la date correspond au 31 de n'importe quel mois, le formatage ne fonctionnepas correctement.
voici un extrait du code Javascript utilisé :
var date = document.forms[0].elements["valeurDate"];
var inputDate = date.value;
var inputDateForm = new Date();
inputDateForm.setDate(inputDate.substring(6,8));
inputDateForm.setMonth(inputDate.substring(4,6)-1); /* range = 0 - 11 */
inputDateForm.setYear(inputDate.substring(0,4));
inputDateForm.setHours(00);
inputDateForm.setMinutes(00);
inputDateForm.setSeconds(00);

alert(inputDateForm.getDate());

Lorsqu'apparait a l'ecran la valeur de

inputDateForm.getDate()

si la valeur de depart etait un jour = à 31, la valeur stockée est de 1 au lieu de 31 !
pourtant cette fonction est sensée fonctionner de 1 à 31...
et si je teste et entre une valeur de jour = à 00 ou 0, là la date sera fixée à 31.

Pouvez-vous m'aider ?
d'avance merci.

vendredi 10 juin 2005 à 22:21:40 | Re : Problème Fonction Date()

Mike SN53477

Ok, ne te tracasse plus.
Tu as bien travaillé!
Mais...attention les parenthèses!

Voici la correction de la 5me ligne:
inputDateForm.setMonth((inputDate.substring(4,6))-1);  /* range = 0 - 11 */

Bonne continuation.
Visit me: [ Lien ]
vendredi 10 juin 2005 à 22:43:48 | Re : Problème Fonction Date()

padam90

Merci

La correction est utile mais ne regle pas mon probleme principal , puisque le getDate() renvoie toujours 1 au lieu de 31 :(

++
Padam90

samedi 11 juin 2005 à 00:29:16 | Re : Problème Fonction Date()

Mike SN53477

En fait ce qui nous embête dans le programme ce sont les zéros qui précédent les mois et les jours (dans ce cas-ci 05). Je ne sais pas s'il existe une instruction en JavaScript qui convertit un string en entier.
Sinon in faut revoir tout ton code de a à z.
samedi 11 juin 2005 à 10:53:57 | Re : Problème Fonction Date()

padam90

non, les mois ne posent aucun problème : j'ai testé le code avec des "alert" pour voir ce qui était récupéré, et ensuite ce qui était inséré dans ma date.
Ce sont les jours qui sont mal pris en compte !
de 1 à 30 ils sont corrects mais pour 31 cela ne fonctionne pas ! par contre si on remplace 31 par 0, cela fonctionne !
Alors que la fonction a un range de 1 à 31 !

++
Padam90

samedi 11 juin 2005 à 11:52:36 | Re : Problème Fonction Date()

Mike SN53477

J'ai enfin compris ce qui ne va pas.
Il faut respecter l'ordre suivant: année,mois,jour.

inputDateForm.setYear(inputDate.substring(0,4));
inputDateForm.setMonth((inputDate.substring(4,6))-1);
inputDateForm.setDate(inputDate.substring(6,8));

Bonne continuation.
Visit me: [ Lien ]

samedi 11 juin 2005 à 12:39:11 | Re : Problème Fonction Date()

Mike SN53477

Je vais t'expliquer ce qui n'allait pas.
Supposons que nous sommes le 11 juin 2005.
En fait quand tu fait:  var inputDateForm = new Date();
-- > Year=2005, Month=5=Juin, Date=11     /* range = 0 - 11 */

Ensuite tu fait:  inputDateForm.setDate(inputDate.substring(6,8));
Dans l'exemple que tu donnes 20050531000000000
Year=2005, Month=5-1=Mai, Date=31   /* range = 0 - 11 */
--> le 31 Mai n'existe pas --> la valeur 1 est stockée par défaut!

T'as compris?
samedi 11 juin 2005 à 18:54:29 | Re : Problème Fonction Date()

padam90

Ben je dois avouer que l'idee etait bonne mais le 31 mai existe bel et bien
31 avril n'existe pas mais 31 mai, si !!
et par contre je ne vois pas ce que ça change de le faire dans l'ordre année mois jour...

samedi 11 juin 2005 à 19:05:25 | Re : Problème Fonction Date()

padam90

En fait ce que je ne comprends pas c'est pourquoi la fonction Javascript ne renvoie pas les bonnes valeurs :
je m'explique :

quand je fais un inputDateForm.setDate("1"),
si j'affiche inputDateForm.getDate(), j'obtiens 1.
si je fais inputDateForm.setDate("12") (ou n'importe quelle valeur entre 1 et 30)
il renvoie 12 (ou la valeur passee entre 1 et 30)

Mais si je fais inputDateForm.setDate("31"),
il renvoie 1 !!!
et si je fais inputDateForm.setDate("0"=, ou inputDateForm.setDate("00"),
il renvoie 31 !!!!

on dirait que la fonction "marche" pour des valeurs entre 1 et 30, et qu'il faut utiliser 0 au lieu de 31 pour obtenir le 31 du mois (si ce mois possede bien 31 jours !)
alors je ne comprends plus

samedi 11 juin 2005 à 20:07:54 | Re : Problème Fonction Date()

Mike SN53477

Réponse acceptée !
Excuse, j'ai confondu (les dates PHP et JavaScript 1-12 et 0->11)
Correction:
--> le 31 juin n'existe pas --> la valeur 1 est stockée par défaut!

J'espère que ça marche maintenant.

Il faut respecter l'ordre suivant: année,mois,jour.

inputDateForm.setYear(inputDate.substring(0,4));
inputDateForm.setMonth((inputDate.substring(4,6))-1);
inputDateForm.setDate(inputDate.substring(6,8));

ou bien tu fait directement en une seule ligne:
var inputDateForm = new Date(inputDate.substring(0,4), inputDate.substring(4,6)-1, inputDate.substring(6,8));


N'oublies pas d'accepter ma reponse si ok. Merci.

1 2

Cette discussion est classée dans : fonction, date, valeur, inputdateform, inputdate


Répondre à ce message

Sujets en rapport avec ce message

Requete mysql en fonction valeur du select [ par supertatane80 ] Bonjour,Après avoir cherché je n'arrive pas à trouver comment faire. Le problème j'ai un menu déroulant et je voudrais qu'en fonction de la valeur cho chiffre au format date [ par davidcian ] Bonjour,j'aimerais récupérer un chiffre au format d'une date:j'appel ma fonction en php:'<font color="#000000 Pb avec une fonction de controle de formulaire [ par lolymeupy ] Bonjour, j'ai un pb dans une fonction de controle d'un formulaire... Voici le bout de code du formulaire: * champ obligatoire Voici la partie de l afficher une page en fonction de la date [ par gegedeo ] Bonjour Chaque jour pour un site d'horoscope il y a une page journalière avec sa date sur le serveur ... exemple :"mardi 11 mars.htm", pour demain ce récupérer la valeur retournée d'une fonction Javascript dans une href [ par midoxe ] Bonjour les amis, Je cherche à récupérer la valeur retournée par une fonction javascript qui est en fait un lien pour l'utiliser dans le href d'un Probème avec setInterval() et setTimeout() [ par nialcen ] Bonjour, un nouveau soucis de javascript : Voici textuellement ce que je veux faire : [code=js]fonction recup(){ récupère la valeur; retourne la v Changer la valeur d'une variable par une fonction [ par darxen ] Bonjour, J'ai un problème tout bête mais malheureusement, je n'arrive pas à trouver la solution. J'ai besoin de faire un traitement dans une fonctio récupérer la valeur d'un champ input pour la traiter en php ou autre solution ?? [ par didine6 ] Bonjour,Voici mon problème.J'ai un champ input avec date de naissance et un champ age.Je voudrais que à la sortie du champ input, le champ âge soit ca calendrier et date [ par djbabou ] Bonjour a tous, j'ai posté sur le forum php un problème que j'espère vous pourrez m'aider à résoudre. Le voici: J'ai deux champs date dans un formul Recuperer la valeur d'une combobox [ par maleo83 ] Bonjour, une question toute bète (j'ai même honte de la poser) :J'ai une combobox, dont je veux envoyer la valeur d'index du champ selectionnéà une fo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales