An immutable copy of a instant where some nanoseconds are subtracted from it can be obtained using the minusNanos() method in the Instant class in Java. This method requires a single parameter i.e. the number of nanoseconds to be subtracted and it returns the instant with the subtracted nanoseconds.
A program that demonstrates this is given as follows −
import java.time.*; public class Demo { public static void main(String[] args) { Instant i = Instant.now(); System.out.println("The current instant is: " + i); System.out.println("An instant with 1000000000 nanoseconds subtracted is: " + i.minusNanos(1000000000)); } }
The current instant is: 2019-02-12T12:36:26.511Z An instant with 1000000000 nanoseconds subtracted is: 2019-02-12T12:36:25.511Z
Now let us understand the above program.
First the current instant is displayed. Then an immutable copy of the instant where 1000000000 nanoseconds are subtracted is obtained using the minusNanos() method and this is displayed. A code snippet that demonstrates this is as follows −
Instant i = Instant.now(); System.out.println("The current instant is: " + i); System.out.println("An instant with 1000000000 nanoseconds subtracted is: " + i.minusNanos(1000000000));