El método withNano() de la clase OffsetDateTime en Java devuelve una copia de este OffsetDateTime con el nano de segundo modificado como se especifica en el parámetro.
Sintaxis:
public OffsetDateTime withNano(int nanoOfSecond)
Parámetro: este método acepta un solo parámetro nanaOfSecond que especifica el nano de segundo que se establecerá en el resultado que puede variar de 0 a 999, 999, 999..
Valor de retorno: Devuelve un OffsetDateTime basado en esta fecha con el nano de segundo solicitado y no nulo.
Excepciones : el programa lanza una excepción DateTimeException cuando el valor de nano de segundo no es válido.
Los siguientes programas ilustran el método withNano() :
Programa 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)); } }
Producción:
Date1: 2018-12-12T13:30:30+05:00 Date1 after altering nano-of-second: 2018-12-12T13:30:30.000001+05:00
Programa 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); } } }
Producción:
Date1: 2018-12-12T13:30:30+05:00 Exception: java.time.DateTimeException: Invalid value for NanoOfSecond (valid values 0 - 999999999): 1000000000
Referencia : https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withNano(int)