Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1842 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] - Comment tester simplement la validité d'une date ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] - Comment tester simplement la validité d'une date ?

n°680512
fbarre
Posté le 22-03-2004 à 18:28:03  profilanswer
 

Dans un formulaire, l'utilisateur doit saisir une date. J'aimerais pouvoir tester la validité de cette date dans la page JSP qui se charge de contrôler les valeurs saisies avant d'enregistrer tout ça en base de données. Comment faire pour tester la validité de la date ? Ce serait quand même mieux que l'utilisateur ne puisse pas saisir 30/02/2004 par exemple.
Merci pour vos réponses.

mood
Publicité
Posté le 22-03-2004 à 18:28:03  profilanswer
 

n°680514
Jubijub
Parce que je le VD bien
Posté le 22-03-2004 à 18:30:53  profilanswer
 

c peut etre une idée à la con, mais y'a une classe calendar dans java...tu testes la date avec, si ca renvoit une erreur c que la date n'existe pas...


---------------
Jubi Photos : Flickr - 500px
n°680538
the real m​oins moins
Posté le 22-03-2004 à 19:03:39  profilanswer
 

SimpleDateFormat


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°680548
fbarre
Posté le 22-03-2004 à 19:14:35  profilanswer
 

En réponse à Jubijub, il est tjs possible d'instancier un objet GregorianCalendar de la manière suivante sans avoir la moindre erreur : GregorianCalendar c = new GregorianCalendar(2004,2,30);

n°680561
Jubijub
Parce que je le VD bien
Posté le 22-03-2004 à 19:28:32  profilanswer
 

je présume que si tu le rappelle il te renvoit le premier mars ?? c typique de java ca, c pareil pour les types de nombres : si t au max et que tu fais +1, tu reviens au minimum...
 
au pire t bon pour te coder ta classe calendar...ce que tu veux éviter je présume aussi :D


---------------
Jubi Photos : Flickr - 500px
n°680564
the real m​oins moins
Posté le 22-03-2004 à 19:34:12  profilanswer
 

SimpleDateFormat putain [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°680570
fbarre
Posté le 22-03-2004 à 19:43:11  profilanswer
 

le code suivant ne pose aucun prb ;-|
 
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy",Locale.FRANCE);
Date d = f.parse("32/02/2004" );

n°680575
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 19:47:10  profilanswer
 

Citation :


public abstract Date parse(String source,
                           ParsePosition pos)
 
    Parse a date/time string according to the given parse position. For example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date that is equivalent to Date(837039928046).
 
    By default, parsing is lenient: If the input is not in the form used by this object's format method but can still be parsed as a date, then the parse succeeds. Clients may insist on strict adherence to the format by calling setLenient(false).


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°680577
benou
Posté le 22-03-2004 à 19:47:59  profilanswer
 

t'as essayé un setLenient(false) sur le SimpleDateFormat ?
 
extrait de la javadoc de Calendar :

Citation :

When a Calendar is lenient, it accepts a wider range of field values than it produces. For example, a lenient GregorianCalendar interprets MONTH == JANUARY, DAY_OF_MONTH == 32 as February 1. A non-lenient GregorianCalendar throws an exception when given out-of-range field settings. When calendars recompute field values for return by get(), they normalize them. For example, a GregorianCalendar always produces DAY_OF_MONTH values between 1 and the length of the month.


 
[:benou_grilled]  :fou:


Message édité par benou le 22-03-2004 à 19:48:34

---------------
ma vie, mon oeuvre - HomePlayer
n°680601
fbarre
Posté le 22-03-2004 à 20:21:06  profilanswer
 

Merci pour tout !
Le code suivant retourne effectivement une exception :
 
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy" );
f.setLenient(false);
Date d = f.parse("30/02/2004" );

mood
Publicité
Posté le 22-03-2004 à 20:21:06  profilanswer
 

n°681888
Jubijub
Parce que je le VD bien
Posté le 23-03-2004 à 20:41:04  profilanswer
 

c chiant ces parseurs en java...y'en faut pour tout...g déciouvert ca y'a pas longtemps, c assez relou...


---------------
Jubi Photos : Flickr - 500px
n°681898
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-03-2004 à 20:53:55  profilanswer
 

:??: Tu veux faire comment sinon, pour transformer une chaîne de caractères entrée par un utilisateur en Date ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°681936
benou
Posté le 23-03-2004 à 21:23:46  profilanswer
 

:??: +1


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] - Comment tester simplement la validité d'une date ?

 

Sujets relatifs
[PHP] [resolu] retrouver la date du premier jour d 1 num de semainela taille d'une date dans oracle ?
[Java] récupérer l'identifiant du processeurComptage de lignes de code C ou Java sous Windows
[Java]Fenetre de scroll: comment scroller automatiquement vers le bas?[Java]ClassCastException
Java - BibliothèquesJava Media Framework - Petite aide
[vba] rajouter des mois a une dateProblème Java MySQL
Plus de sujets relatifs à : [Java] - Comment tester simplement la validité d'une date ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR