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 :

Exception sur date


Sujet :

Collection et Stream Java

  1. #41
    Membre éclairé Avatar de cashmoney
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Merci, mais je viens de tester avec df.format(date) et il m'affiche le String que j'ai rentré au départ (20-12-2008) alors que je voulais (20 déc. 2008). en fait c'est là mon soucis. d'où j'utilisais le DateFormat.getDateInstance().format(date) pour l'avoir.

  2. #42
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Hum exact, désolé.
    Dans ce cas, il te faut un format d'entrée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateFormat df = new SimpleDateFormat("dd-MM-yyyy", Locale.FRENCH);
    Et un de sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateFormat dfSortie = new SimpleDateFormat("dd MMM yyyy", Locale.FRENCH);
    //Equivalent à DateFormat.getDateInstance(), pour les utilisateurs dont le système d'exploitation est en français.
    Tu peux ainsi définir autant de format d'entrée ou de sorties que tu le veux. Par contre, pour le format d'entrée, si tu veux être indépendant de la façon dont l'utilisateur le saisi, ça va être plus compliqué.

  3. #43
    Membre éclairé Avatar de cashmoney
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    C'est cool, mais quel est la relation entre le format d'entré et de sortie vue que c'est le format d'entré que l'on doit sortir.

  4. #44
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Non, tu en as l'exemple : Tu saisi "31-12-2009", mais tu veux afficher "31 déc. 2009". Il y a donc bien un format d'entrée, et un autre de sortie. Il faut donc définir 2 formats. D'ailleurs, tu le fais aussi, par le "DateFormat.getDateInstance()". D'un coté, tu lui dis comment lire un texte (parse), et de l'autre, comment l'afficher (format).
    Le lien entre les deux, c'est la date. La date est en gros, stocké dans l'objet Date (ou Calendar ou autre), sous la forme "Le 31 du 12ème mois de l'année 2009, à minuit, heure locale". Ce qui explique que le "Afficher("Format US: " + date);" affiche "Fri Feb 25 00:00:00 CET 2005" : C'est le format par défaut d'une date.

  5. #45
    Membre éclairé Avatar de cashmoney
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Ok, merci pour tes explications, j'ai compris.

  6. #46
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Astartee Voir le message
    Citation Envoyé par le y@m's Voir le message
    Oui pardon, j'avais oublié ce point . Mais pour le corrigé il suffit d'utiliser la méthode [...] Plus propre .
    Ah ouais, beaucoup plus propre, en effet Je dis toujours de lire la Javadoc mais visiblement je ne lis pas tout en entier moi-même
    Bon, j'aurai au moins appris quelque chose aujourd'hui...
    Je reviens sur ce vieux sujet pour soulever un point en ma faveur têtue, moi ?
    Certes, le setLenient permet de rejeter la date "55/02/1985", mais la date "001/02/1985" est toujours acceptée...
    Donc en fonction du niveau d'exigence sur le format de la date, ma méthode barbare (parsage puis reformatage puis comparaison des deux chaînes) peut être utile tout de même na
    Combien de temps jusqu'à ce que quelqu'un me jette à la face la bonne manière de faire ?

  7. #47
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par api
    • Text: For formatting, if the number of pattern letters is 4 or more, the full form is used; otherwise a short or abbreviated form is used if available. For parsing, both forms are accepted, independent of the number of pattern letters.
    • Number: For formatting, the number of pattern letters is the minimum number of digits, and shorter numbers are zero-padded to this amount. For parsing, the number of pattern letters is ignored unless it's needed to separate two adjacent fields.
    donc avec ce format là: ddmmyyyy ca serait géré correctement (pour cause d'ambiguité), sinon effectivement, reconvertir en text et comparer semble la seule solution pour garantir un format absolu (en même temps, faut vouloir rejeter les 001/02/1985, c'est pas comme si c'était ambigu

  8. #48
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    en même temps, faut vouloir rejeter les 001/02/1985, c'est pas comme si c'était ambigu
    Comme j'ai dit, ça dépend du niveau d'exigence

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. L'exception sur les dates
    Par Humoule dans le forum Android
    Réponses: 9
    Dernier message: 10/09/2013, 13h11
  2. exception sur une date
    Par DJERDJAR YACINE dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 30/07/2007, 14h20
  3. [Tomcat] Exception sur JSP
    Par Malaussene dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 10/09/2004, 08h43
  4. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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