Java Data Type How to - Plus and Minus days and seconds from Instant








Question

We would like to know how to plus and Minus days and seconds from Instant.

Answer

/*from w  w  w  .j a v  a  2  s.  co  m*/
import java.time.Duration;
import java.time.Instant;
import java.time.temporal.ChronoUnit;

public class Main {
  public static void main(String[] args) {

    // same time in millis
    Instant now = Instant.ofEpochMilli(1262347200000l);
    
    // native plusSeconds() method to add 10 seconds
    Instant nowPlusTenSeconds = now.plusSeconds(10);

    // no native support for units like days.
    Instant nowPlusTwoDays = now.plus(2, ChronoUnit.DAYS);
    Instant nowMinusTwoDays = now.minus(Duration.ofDays(2));
    
    System.out.println(nowPlusTenSeconds);
    System.out.println(nowPlusTwoDays);
    System.out.println(nowMinusTwoDays);
  }
}

The code above generates the following result.