IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[Date] test de Calendar/Date invalide [FAQ]


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 7
    Points
    7
    Par défaut [Date] test de Calendar/Date invalide
    Bonjour,

    Je crée un java.util.Calendar et je lui attribue des valeur pour les champ jour, mois, année, heure et minute grâce à la méthode set de l'API J2EE.
    Imaginons le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Calendar monCalendar = calendar.getInstance(); // nous sommes le 14/01
    monCalendar.set(Calendar.DAY_OF_MONTH, 40);
    return monCalendar.getTime();
    Résultat : pas d'exception levée, monCalendar se retrouve au mois de février (le 9/02)
    J'aimerais qu'au lieu de me sortir une date valide, il me dise que le 40/01 n'existe pas (comme un 31 novembre, le 29 février 2005...)
    Existe-t-il un moyen (autre que de me repalucher toute une série de tests à la mano) pour savoir si une date est "valide", qu'elle existe ?
    Merci d'avance.

    Rodolphe-Poulet

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut
    Salut,
    Il faut que tu fasses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monCalendar.setLenient(false);
    Ainsi, une IllegalArgumentException sera declenchee en cas de date non "valide".

    sylvain_2020

  3. #3
    Membre habitué
    Avatar de guipom
    Inscrit en
    Janvier 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 207
    Points : 184
    Points
    184
    Par défaut
    je confirme juste pour l'avoir utilisé, tu as aussi d'ailleurs isLenient() à appeller sur ton Calendar pour vérifier s'il est ou non valide

    autre chose qui dépasse le cadre de ta question : Calendar est une classe abstraite, quand tu parles de monCalendar, tu n'as pas tout refait à la main j'espère, tu as pensé à GregorianCalendar ? j'en parle au cas où, on sait jamais

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Thanx a lot !

    Rodolphe-Poulet

  5. #5
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    un petit [résolu]... merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2007, 17h06
  2. Test sur une date
    Par Treuze dans le forum Access
    Réponses: 5
    Dernier message: 13/08/2006, 15h10
  3. Mon test sur la date ne marche pas
    Par dachir dans le forum Access
    Réponses: 7
    Dernier message: 12/08/2006, 11h23
  4. Réponses: 3
    Dernier message: 12/07/2006, 10h13
  5. [Dates] Test sur un champ de formulaire
    Par rdams dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2005, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo