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 et format de date


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Date et format de date
    Bonjour,
    dans mon code j'utilise une focntion de validation de format pourlaquelle je passe le format en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    public static boolean validateDateFormat(String activationDate,String sFormat) {
     
    		SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
    		Date d = new Date();
     
    		try {
    			d = sdf.parse(activationDate);
    			String t = sdf.format(d);
    			if(t.compareTo(activationDate) !=  0)
    				return false;
    			else
    				return true;
    		} catch (Exception e) {
    			System.out.println("Exception");
    		}
    		return false;
    	}
    après l'appel de ma méthode est comme suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    	if(activationDate !=null && !activationDate.toString().equals(""))
    			{
    				boolean dateValidation =validateDateFormat(activationDate.toString(),"dd/MM/yyyy");
    				if(!dateValidation){
    					getFormCache(pRequest).addFieldValidationException(dateFormatException);
    					return PAGE_VALIDATION_FAILED_RESULT;
    				}
     
    //				check if the date is not in the past
    				Date date = new Date(activationDate.toString());
    				Date currentDate = new Date();
    				if(date.before(currentDate)){
    					getFormCache(pRequest).addFieldValidationException(dateValidationException);
    					return PAGE_VALIDATION_FAILED_RESULT;
    				}
    			}
    ça marche bien dans le sens que si je passe 05/08/2008, mais le problème est le suivant:
    si dans ma page la date 05/08/2008 est saisie pour dire 5 Aout 2008,
    mon bout de code de controle ci-dessus if(date.before(currentDate)) me rend false en considérant la date 05/08/2008 plutot le 8 Mai 2008,
    comment faire pour rectifier ce point???

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    Quel est le type de "activationDate" ?

  3. #3
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut activationDate
    activationDate est juste un objet de type Object récupéré de la request

  4. #4
    Membre du Club Avatar de fatenatwork
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 129
    Points : 63
    Points
    63
    Par défaut Question plus précisément
    ma question plus précisément si tu veux est :
    ayant la date 05/08/2008 et meme en faisant le controle avec le format dd/MM/yyyy, je vois pas comment faire pour dire que la valeur saisie
    05/08/2008 est plutot le 5 aout 2008 et non pas le 8 mai 2008

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    En faisant comme pour le controle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date = new SimpleDateFormat("dd/MM/yyyy").parse(activationDate.toString());

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

Discussions similaires

  1. Un format de Date compliqué ! DATETIME, TIMESTAMP, DATE ?
    Par Amarox dans le forum Développement
    Réponses: 7
    Dernier message: 28/11/2011, 14h54
  2. format de date: Type de donnees "Date"
    Par bacomina dans le forum Jasper
    Réponses: 1
    Dernier message: 23/09/2009, 15h02
  3. [MySQL] Formater une date américaine a une date français ?
    Par melodyyy dans le forum PHP & Base de données
    Réponses: 30
    Dernier message: 18/07/2008, 16h14
  4. [DATE] - probleme format de date retournée extension mssql
    Par lourai dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/01/2007, 10h46
  5. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15

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