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 :

problème de dates


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Par défaut problème de dates
    Bonjour,

    j'ai deux dates (dateDebutOP,dateFinOp)

    et j'ai deux dates(dateDebutStat,dateFinStat)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    dateDebutOp=getDebutPeriode()
     
    public Date getDebutPeriode() throws ParseException {
     
    		Calendar cal = Calendar.getInstance();
    		long dateDebut=dateFormat.parse(debutPeriodeOperationnelleField.getText()).getTime();
    		cal.setTimeInMillis(dateDebut);
     
    		return new Date(dateDebut);
    	}

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dateFinOp=getFinPeriode()
     
    public Date getFinPeriode() throws ParseException {
     
    		Calendar cal = Calendar.getInstance();
    		long dateFin = dateFormat
    				.parse(finPeriodeOperationnelleField.getText()).getTime();
    		cal.setTimeInMillis(dateFin);
    		return new Date(dateFin);
     
    	}

    le but est que dateDebutStat récupère la valeur de dateDebutOp avec une année en moins et pareil pour dateFinStat.


    J'ai essayé pas mal de solutions en utilisant Calendar mais ça marchait pas trop.

    Pourriez vous m'indiquer quelques solutions,Merci d'avance.

    Cdt,

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Parmi tes essais, as-tu testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Calendar cal = Calendar.getInstance();
    cal.setTime(dateDebutOp);
    cal.add(Calendar.YEAR, -1);
    dateDebutStat = cal.getTime();

  3. #3
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Par défaut
    Bonjour,
    merci pour votre réponse,j'ai effectué le changement comme ceci:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
     
    public Date getDebutPeriode() {
    		Calendar cal = Calendar.getInstance();
    		long dateDebut = 0;
    		try {
    			dateDebut = dateFormat
    					.parse(debutPeriodeStatistiqueField.getText()).getTime();
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		cal.setTimeInMillis(dateDebut);
    		System.out.println("dateDebut:" + dateDebut);
     
    		return new Date(dateDebut);
    	}
     
    	public Date getFinPeriode() {
    		Calendar cal = Calendar.getInstance();
    		long dateFin = 0;
    		try {
    			dateFin = dateFormat.parse(finPeriodeStatistiqueField.getText())
    					.getTime();
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		cal.setTimeInMillis(dateFin);
    		System.out.println("dateFin:" + dateFin);
    		return new Date(dateFin);
    	}
     
    	public Date getDebutPeriodeStatistique() {
    		Calendar c = Calendar.getInstance();
    		Date debutPeriodeStatistique = null;
    		c.setTime(getDebutPeriode());
    		c.add(Calendar.YEAR, -1);
    		debutPeriodeStatistique = c.getTime();
    		return debutPeriodeStatistique;
     
    	}
     
    	public Date getFinPeriodeStatistique() {
    		Calendar c = Calendar.getInstance();
    		Date finPeriodeStatistique = null;
    		c.setTime(getFinPeriode());
    		c.add(Calendar.YEAR, -1);
    		finPeriodeStatistique = c.getTime();
    		return finPeriodeStatistique;
    	}
    mais malheureusement,ça n'a pas donné le résultat obtenu:par ex

    pour getDebutPeriode()=01/01/08 ->getDebutPeriodeStatistique()=01/01/69

    et getFinPeriode()=25/06/08->getFinPeriodeStatistique()=01/01/69

    Merci d'avance

    Cdt,

  4. #4
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Le résultat "01/01/69" donne l'impression qu'une erreur se produit dans getXxxPeriode().

    De mon côté j'ai fait un test avec le code ci-dessous et je n'ai rencontré aucun problème.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
     
     
    public final class Test {
     
    	public static void main(String[] args) throws Exception {
     
    		Test test = new Test();
     
    		System.out.println(test.getDebutPeriode());
    		System.out.println(test.getDebutPeriodeStatistique());
     
    	}
     
     
    	SimpleDateFormat dateFormat = new SimpleDateFormat("dd MM yyyy");
     
    	public Date getDebutPeriodeStatistique() throws ParseException {
    		Calendar c = Calendar.getInstance();
    		c.setTime(getDebutPeriode());
    		c.add(Calendar.YEAR, -1);
    		return c.getTime();
    	}
     
     
    	public Date getDebutPeriode() throws ParseException {
    		return dateFormat.parse("24 06 2014");
    	}
    }

  5. #5
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 86
    Par défaut
    Bonjour,j'ai testé votre code ,il donne le résultat que je veux mais quand je l'applique au mien ça marche pas ,voici plus de précisions sur mon code:

    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
     
     
    if (debutPeriode != null) {
    			debutPeriodeOperationnelleField.setValue(debutPeriode.getTime());
    			debutPeriodeStatistiqueField.setValue(getDebutPeriodeStatistique());
    		} else {
    			debutPeriodeOperationnelleField.setValue(null);
    			debutPeriodeStatistiqueField.setValue(null);
    		}
    		if (finPeriode != null) {
    			finPeriodeOperationnelleField.setValue(finPeriode.getTime());
    			finPeriodeStatistiqueField.setValue(getFinPeriodeStatistique());
    		} else {
    			finPeriodeOperationnelleField.setValue(null);
    			finPeriodeStatistiqueField.setValue(null);
    		}
    en sachant que (debutPeriode.getTime())->getDebutPeriode()
    et finPeriode.getTime()->getFinPeriode()

    merci d'avance pour votre retour.

    Cdt,

  6. #6
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    quand je l'applique au mien ça marche pas
    C'est plutôt ce code qui serait intéressant.

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

Discussions similaires

  1. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 15h34
  2. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 10h52
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 11h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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