The withNano() method of OffsetDateTime class in Java returns a copy of this OffsetDateTime with the nano-of-second altered as specified in the parameter.
Syntax:
public OffsetDateTime withNano(int nanoOfSecond)
Parameter: This method accepts a single parameter nanaOfSecond which specifies the nano-of-second to be set in the result which can range from 0 to 999, 999, 999..
Return Value: It returns a OffsetDateTime based on this date with the requested nano-of-second and not null.
Exceptions: The program throws a DateTimeException when the nano-of-second value is invalid.
Below programs illustrate the withNano() method:
Program 1:
// Java program to demonstrate the withNano() method   import java.time.OffsetDateTime;   public class GFG {     public static void main(String[] args)     {           // Parses the date1         OffsetDateTime date1             = OffsetDateTime                   .parse(                       "2018-12-12T13:30:30+05:00" );           // Prints dates         System.out.println( "Date1: " + date1);           // Changes the nano-of-second         System.out.println( "Date1 after altering nano-of-second: "                            + date1.withNano( 1000 ));     } } |
Date1: 2018-12-12T13:30:30+05:00 Date1 after altering nano-of-second: 2018-12-12T13:30:30.000001+05:00
Program 2:
// Java program to demonstrate the withNano() method   import java.time.OffsetDateTime;   public class GFG {     public static void main(String[] args)     {           try {               // Parses the date1             OffsetDateTime date1                 = OffsetDateTime                       .parse(                           "2018-12-12T13:30:30+05:00" );               // Prints dates             System.out.println( "Date1: " + date1);               // Changes the nano-of-second             System.out.println( "Date1 after altering nano-of-second: "                                + date1.withNano( 1000000000 ));         }         catch (Exception e) {             System.out.println( "Exception: " + e);         }     } } |
Date1: 2018-12-12T13:30:30+05:00 Exception: java.time.DateTimeException: Invalid value for NanoOfSecond (valid values 0 - 999999999): 1000000000
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withNano(int)