Método LocalDateTime withNano() en Java con ejemplos

El método withNano() de la clase LocalDateTime en Java se usa para obtener una copia de este LocalDateTime con los nanosegundos cambiados a los nanosegundos pasados ​​como parámetro de este método. Los valores restantes de este LocalDateTime siguen siendo los mismos.

Sintaxis: 

public LocalDateTime withNano(int nanoSeconds)

Parámetro: único parámetro obligatorio nanoSeconds que especifica los nanosegundos que se establecerán en la instancia de LocalDateTime resultante. El valor de estos nanosegundos puede variar de 0 a 999999999.

Tipo de devolución: una instancia de LocalDateTime con los nanosegundos cambiados a los nanosegundos pasados ​​como parámetro para este método. Los valores restantes de este LocalDateTime siguen siendo los mismos.

Excepciones : la función genera una excepción DateTimeException si el valor de los nanosegundos no es válido.

Ejemplo 1:

Java

// Java Program to illustrate withNano() method of
// LocalDateTime class
 
// Importing required classes
import java.time.*;
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating tan instance of LocalDateTime class
        LocalDateTime dt = LocalDateTime.now();
 
        // Getting the String representation of this
        // LocalDateTime
        System.out.println("Original LocalDateTime: "
                           + dt.toString());
 
        // Getting a new LocalDateTime with nano-seconds 0
        System.out.println("New LocalDateTime: "
                           + dt.withNano(0));
    }
}
Producción: 

Original LocalDateTime: 2018-11-30T12:54:17.484
New LocalDateTime: 2018-11-30T12:54:17

 

Ejemplo 2:

Java

// Java Program to illustrate withNano() method of
// LocalDateTime class
 
// Importing required classes
import java.time.*;
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of LocalDateTime class inside
        // main()
        LocalDateTime dt
            = LocalDateTime.parse("2015-04-06T10:15:30");
 
        // Getting the String representation of this
        // LocalDateTime
        System.out.println("Original LocalDateTime: "
                           + dt.toString());
 
        // Getting a new LocalDateTime with nano-seconds
        // 99999
        System.out.println("New LocalDateTime: "
                           + dt.withNano(99999));
    }
}
Producción: 

Original LocalDateTime: 2015-04-06T10:15:30
New LocalDateTime: 2015-04-06T10:15:30.000099999

 

Ahora manejaremos con cuidado el método Nano(0) que se usa para eliminar los nanosegundos y retener la fecha y hora hasta los segundos.

Ejemplo 3:

Nota: Caso especial: si el valor de los segundos es: 00, al hacer toString() eliminará la parte de los segundos.

Ejemplo:

Java

// Java Program to illustrate withNano() method of
// LocalDateTime class
 
// Importing required classes
import java.io.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
 
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws InterruptedException
    {
 
        // Creating an object of DateTimeFormatter class
        DateTimeFormatter dtf
            = DateTimeFormatter.ISO_DATE_TIME;
 
        // If condition holds true
        while (true) {
 
            // Making thread to sleep for 500 nanoseconds
            Thread.sleep(500);
 
            // Print and display commands
            System.out.println("Original :00 seconds --> "
                               + LocalDateTime.now());
            System.out.println(
                "Without Formatter(Observe when seconds is :00) --> "
                + LocalDateTime.now().withNano(0));
            System.out.println(
                "With Formatter -> "
                + LocalDateTime.now().withNano(0).format(
                    dtf));
        }
    }
}

Producción:

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *