Type date en java

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. 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 »
    1. comment ? j'ai pas bien compris
      1. 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();
                }
            }
        }
    2. Modérateur
      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
      1. 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)
        1. Modérateur
          à 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 !?
        2. l'att 6 si la valeur que je veux ajouter au lieu de 20 et il est de type String
        3. Modérateur
          @AHop"il est de type String"
          int att6
          c'est ton code !
        4. @AHopDans ce cas, pourquoi tu ne le fais pas ?

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