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)