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)

… [Trackback]
[…] Info to that Topic: geeksforgeeks.org/offsetdatetime-withnano-method-in-java-with-examples-2/ […]