minusNanos() method of a ZonedDateTime class used to subtract the number of nanoseconds from this ZonedDateTime and return a copy of ZonedDateTime after subtraction.This method works on the instant timeline and subtracting one nanosecond return the timeline of one nanosecond earlier. Note that this method is a different approach to that used by days, months and years. This instance is immutable and unaffected by this method call.
Syntax:
public ZonedDateTime minusNanos(long nanoseconds)
Parameters: This method accepts a single parameter nanoseconds which represents the nanoseconds to subtract, It can be negative.
Return value: This method returns a ZonedDateTime based on this date-time with the nanoseconds subtracted.
Exception: This method throws DateTimeException if the result exceeds the supported date range.
Below programs illustrate the minusNanos() method:
Program 1:
// Java program to demonstrate // ZonedDateTime.minusNanos() method   import java.time.*;   public class GFG {     public static void main(String[] args)     {           // create a ZonedDateTime object         ZonedDateTime zoneddatetime             = ZonedDateTime.parse(                 "2018-12-06T19:21:12.123+05:30[Asia/Calcutta]" );           // print instance         System.out.println( "ZonedDateTime before"                            + " subtracting nanoseconds: "                            + zoneddatetime);           // subtract 30000000 nanoseconds         ZonedDateTime returnvalue             = zoneddatetime.minusNanos( 30000000 );           // print result         System.out.println( "ZonedDateTime after "                            + " subtracting 30000000 nanoseconds: "                            + returnvalue);     } } |
ZonedDateTime before subtracting nanoseconds: 2018-12-06T19:21:12.123+05:30[Asia/Calcutta]
ZonedDateTime after subtracting 30000000 nanoseconds: 2018-12-06T19:21:12.093+05:30[Asia/Calcutta]
Program 2:
// Java program to demonstrate // ZonedDateTime.minusNanos() method   import java.time.*;   public class GFG {     public static void main(String[] args)     {           // create a ZonedDateTime object         ZonedDateTime zoneddatetime             = ZonedDateTime.parse(                 "2018-10-25T23:12:31.123+02:00[Europe/Paris]" );           // print instance         System.out.println( "ZonedDateTime before"                            + " subtracting nanoseconds: "                            + zoneddatetime);           // subtract 52000000 nanoseconds         ZonedDateTime returnvalue             = zoneddatetime.minusNanos( 52000000 );           // print result         System.out.println( "ZonedDateTime after "                            + " subtracting 52000000 nanoseconds: "                            + returnvalue);     } } |
ZonedDateTime before subtracting nanoseconds: 2018-10-25T23:12:31.123+02:00[Europe/Paris]
ZonedDateTime after subtracting 52000000 nanoseconds: 2018-10-25T23:12:31.071+02:00[Europe/Paris]
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#minusNanos(long)