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

Langage Java Discussion :

Test d'une Date en String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut Test d'une Date en String
    Bonjour à tous,

    J'ai un gros souci depuis 2 jours.
    Je n'arrive pas à faire un test simple avec une date que je récupère sur une feuille excel.
    je veux:

    - comparer cette date récupérer d'une colonne A à une date récupérer d'une colonne B (je les récupère en string).
    -si la date_recuperer_colA - date_recuperer_colB est supérieur a 2 jours alors j'affiche la date_recuperer_colA

    c'est facile mais je n'y arrive pas.

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Montre nous le code que tu utilises pour faire ça.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Tu n'y arrives pas avec les classes Calendar et SimpleDateFormat ?

    Montre nous ton code.

  4. #4
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.Iterator;
    import java.util.Locale;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    
    public class LectureIETD {
    	
    	static SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
    	
    	public static Date stringToDate(String sDate) throws ParseException {
            return sdf.parse(sDate);
        }
    
      public static void main(
          String[] args) throws ParseException {
    
        try {
          POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("IETD_export2.xls"));
          HSSFWorkbook wb = new HSSFWorkbook(fs);
          HSSFSheet sheet = wb.getSheetAt(0);
          HSSFRow row = null;
          HSSFCell cell = null;
          double totalLigne = 0.0;
          double totalGeneral = 0.0;
          int numLigne = 1;
          String recu = null ;
          Date d;
          
    
          
    
          
          for (Iterator rowIt = sheet.rowIterator(); rowIt.hasNext();){
            totalLigne = 0;
            
            row = (HSSFRow) rowIt.next();
            recu = row.getCell(8).getStringCellValue();
            System.out.println("Reçu par le prestataire le: "+recu);
            System.out.println("Expédié le: "+row.getCell(9));
            
            d=stringToDate(recu);
            System.out.println("1ere methode:"+d);        
            
            for (Iterator cellIt = row.cellIterator(); cellIt.hasNext();) {
            	cell = (HSSFCell) cellIt.next();
            	System.out.println("ligne n° "+cell.getRowIndex());//avoir le numéro de ligne
            	break;
            }
            //System.out.println("total ligne "+numLigne+" = "+totalLigne);
            //totalGeneral += totalLigne;
            numLigne++;
          }
          //System.out.println("total general "+totalGeneral);
          System.out.println("fini");
          System.out.println("Nbre de ligne: "+numLigne);
          
        } catch (FileNotFoundException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        } 
      	
          
          
          
        //Test si on est au mois de janvier
        /*Calendar calendar = Calendar.getInstance(); 
        if ( calendar.get( Calendar.JANUARY )==Calendar.JANUARY ) {  
         
        System.out.println("la date courante est en janvier"); 
        }*/
        
        //affiche la date d'aujourd'hui
        /*Date aujourdhui = new Date();
        SimpleDateFormat formater = null; 
        formater = new SimpleDateFormat("dd-MM-yy");
        System.out.println(formater.format(aujourdhui)); */  }
    }
    J'ai effacé les test pour faire propre.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Et donc, tu veux comparer quoi à quoi ?

    Je ne vois qu'une seule date, là, la variable d. Tu veux la comparer à elle-même ? Elle est égale.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Je repart de zéro.
    voilà ce que je fait :
    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
    50
    51
    52
    53
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    
    
    public class Date {
    
    	public static void main(String[] args) {
            SimpleDateFormat df=new SimpleDateFormat("dd/MM/yyyy");
            
            String pattern = "dd/MM/yyyy" ; 
            String dateString1 = "25/03/2012" ; 
            String dateString2 = "28/03/2012" ; 
            java.util.Date datte1; 
            java.util.Date datte2; 
            int Delta_date = 0;
             
            /* Parsing String -> Date */ 
            try { 
                datte1 = (new SimpleDateFormat(pattern)).parse( dateString1 ); 
                datte2 = (new SimpleDateFormat(pattern)).parse( dateString2 );
                System.out.println("dateString: "+datte1);
                
                //faire la soustraction en nombre de jours
                
                //comparer les 2 dates
                //datte1 - datte2 = Delta_date;            
    
                if(Delta_date>2){
                	System.out.println("date1: "+datte1);
                }
                
                
            } catch ( ParseException ex ) { 
                System.err.println(ex.getMessage()) ; 
            } 
    
          //Par défaut, date d'aujourd'hui
            Calendar calAujourdhui = Calendar.getInstance();
            //Fixe à la date d'hier
            Calendar calYesterday = Calendar.getInstance();
            calYesterday.add(Calendar.DAY_OF_MONTH, -1);
    
            if (calYesterday.equals(calAujourdhui)) {
                System.out.println("Les dates sont identiques");
            } else if (calYesterday.after(calAujourdhui)) {
               System.out.println(df.format(calYesterday.getTime())+" est supérieur à "+df.format(calAujourdhui.getTime()));
            } else if (calYesterday.before(calAujourdhui)) {
               System.out.println(df.format(calYesterday.getTime())+" est inférieur à "+df.format(calAujourdhui.getTime()));
            }
            
        }
    }
    ce que je n'arrive pas à faire est en rouge.

  7. #7
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    C'est ca que je veux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //datte1 - datte2 = Delta_date;            
     
                if(Delta_date>2){
                	System.out.println("date1: "+datte1);
                }
    Sachant que Delta_date récupère le nombre de jours.

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

Discussions similaires

  1. Test sur une date
    Par Treuze dans le forum Access
    Réponses: 5
    Dernier message: 13/08/2006, 14h10
  2. [VB6] convertire une date en string
    Par acrenn dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 03/05/2006, 17h30
  3. Convertir une date en string
    Par hugo69 dans le forum Access
    Réponses: 6
    Dernier message: 28/04/2006, 17h40
  4. Réponses: 14
    Dernier message: 29/06/2005, 10h22

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