Type date en java

AHop Messages postés 28 Statut Membre -  
Felice_ Messages postés 271 Statut Membre -
Bonjour,

j'ai une date par exemple 18-05-2017_10:20:00
je veux ajouter à cette date un ecart de temps qui egale à 20 minute
comment je fait et comment je declare l'attribut ecart de temps .

ça pour convertir string to date
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy hh:mm:ss");

comment je fait pour convertir string to time

4 réponses

  1. Felice_ Messages postés 271 Statut Membre 11
     
    L'objet « Date » possède la méthode « getTime » qui permet de convertir ta date en milliseconde.

    Tu rajoutes ensuite tes 20 minutes

    Puis tu assignes avec la méthode « setTime »
    0
  2. AHop Messages postés 28 Statut Membre
     
    comment ? j'ai pas bien compris
    0
    1. Felice_ Messages postés 271 Statut Membre 11
       
      Comme ceci en fait :
      import java.util.Calendar;
      import java.util.GregorianCalendar;
      import java.util.Date;
      import java.text.SimpleDateFormat;
      import java.text.ParseException;
      
      public class Principal {
          public static void main(String arguments[]) {
              SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy_hh:mm:ss");
              
              try {
                  Date     date = sdf.parse("18-05-2017_10:20:00");
                  Calendar c    = new GregorianCalendar();
                           c.setTime(date);
                           c.add(Calendar.MINUTE, 20);
                  
                  System.out.println(date = c.getTime());
              } catch (ParseException e) {
                  e.printStackTrace();
              }
          }
      }
      0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Un exemple avec une manipulation de java.util.Calendar

    public static void main(String[] args) {
        String str = "18-05-2017_10:20:00";
        String[] tab = str.split("\\D"); // ["18","05","2017","10","20","00"]
    
        Calendar cal = Calendar.getInstance(); 
        cal.set(Integer.parseInt(tab[2]), // year
                Integer.parseInt(tab[1]), // month
                Integer.parseInt(tab[0]), // day
                Integer.parseInt(tab[3]), // hour
                Integer.parseInt(tab[4]), // minute
                Integer.parseInt(tab[5])); // second
    
        System.out.println(cal.getTime()); // Sun Jun 18 10:20:00 CEST 2017
        cal.add(Calendar.MINUTE, 20);
        System.out.println(cal.getTime()); // Sun Jun 18 10:40:00 CEST 2017
    }

    La confiance n'exclut pas le contrôle
    0
  4. AHop Messages postés 28 Statut Membre
     
    moi au lieu de 20 je veux ajouter un attribut de mon fichier qui est de type String j'ai utilisé le convert

    int att6 = Integer.parseInt(lineFile.getAttribute6());

    mais s'à marche pas

    The method add(int, int) in the type Calendar is not applicable for the arguments (int, String)
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      à quoi ça sert de faire
      int att6 = Integer.parseInt(lineFile.getAttribute6());
      si tu ne te sers pas de att6 qui est justement de type int comme il faut !?
      0
    2. AHop Messages postés 28 Statut Membre
       
      l'att 6 si la valeur que je veux ajouter au lieu de 20 et il est de type String
      0
      1. KX Messages postés 19031 Statut Modérateur 3 020 > AHop Messages postés 28 Statut Membre
         
        "il est de type String"
        int att6
        c'est ton code !
        0
      2. Felice_ Messages postés 271 Statut Membre 11 > AHop Messages postés 28 Statut Membre
         
        Dans ce cas, pourquoi tu ne le fais pas ?

        int att6 = Integer.parseInt(lineFile.getAttribute6());
        
        c.add(Calendar.MINUTE, att6);
        0