How can I increment a date by one day in Java?

前端 未结 28 1774

I\'m working with a date in this format: yyyy-mm-dd.

How can I increment this date by one day?

28条回答
  •  你的背包
    2020-11-21 07:03

    With Java SE 8 or higher you should use the new Date/Time API

     int days = 7;       
     LocalDate dateRedeemed = LocalDate.now();
     DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/YYYY");
    
     String newDate = dateRedeemed.plusDays(days).format(formatter);   
     System.out.println(newDate);
    

    If you need to convert from java.util.Date to java.time.LocalDate, you may use this method.

      public LocalDate asLocalDate(Date date) {
          Instant instant = date.toInstant();
          ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
          return zdt.toLocalDate();
      }
    

    With a version prior to Java SE 8 you may use Joda-Time

    Joda-Time provides a quality replacement for the Java date and time classes and is the de facto standard date and time library for Java prior to Java SE 8

       int days = 7;       
       DateTime dateRedeemed = DateTime.now();
       DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/uuuu");
            
       String newDate = dateRedeemed.plusDays(days).toString(formatter);   
       System.out.println(newDate);
    

提交回复
热议问题