La clase Java LocalDateTime es una clase inmutable que representa la fecha y la hora sin la información de la zona horaria, por ejemplo, 2017-10-25T11: 20: 55. En esta guía veremos los métodos de la clase LocalDateTime y escribiremos algunos programas java. para entender su uso.

Comencemos con un ejemplo simple de LocalDateTime.

1. Ejemplo simple de LocalDateTime en Java

En este ejemplo, estamos mostrando la fecha y hora actuales usando la clase LocalDateTime. También podemos formatear la salida de fecha y hora usando la clase DateTimeFormatter que hemos mostrado en el siguiente ejemplo.

import java.time.LocalDateTime;  
import java.time.format.DateTimeFormatter;  
public class Example {  
    public static void main(String[] args) {  
    	//getting current date and time using now() method
        LocalDateTime currentDateTime = LocalDateTime.now();  
        System.out.println("Current Date and Time: "+currentDateTime); 
        
        //lets see how we can display the current date time in different format
        DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm a");  
        String newFormat = currentDateTime.format(format);  
        System.out.println("Current Date Time in specified format: "+newFormat);  
    }  
}

Producción:

Current Date and Time: 2017-10-31T13:57:06.290
Current Date Time in specified format: 31/10/2017 13:57 PM

2. Java – Ejemplo del método LocalDateTime of ()

Podemos crear una instancia de LocalDateTime a partir de la información de fecha y hora dada utilizando el método of () de la clase LocalDateTime.

import java.time.LocalDateTime;  
import java.time.format.DateTimeFormatter;  
public class Example {  
    public static void main(String[] args) {  
    	/* given date time info is passed in of() method
    	 * the sequence of parameters are: Year, Month, Day, Hour
    	 * , Minutes, Seconds, NanoSeconds
    	 */
    	LocalDateTime localDateTime =
    		    LocalDateTime.of(2017, 10, 21, 11, 32, 55, 678);
    	System.out.println("Given Date Time in default format: "+localDateTime); 
    	
        //formatting the output
        DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm a");  
        String newFormat = localDateTime.format(format);  
        System.out.println("Given Date Time in new format: "+newFormat);  
    }  
}

Producción:

Given Date Time in default format: 2017-10-21T11:32:55.000000678
Given Date Time in new format: 21/10/2017 11:32 AM

3. Java – Ejemplo de métodos de obtención de LocalDateTime

Hay varios métodos de obtención en esta clase. Primero veremos una breve descripción de estos métodos y luego tomaremos un ejemplo para comprender cómo funcionan.
int getYear () – Año de devoluciones
int getDayOfYear () – Devuelve el día del año como un número entero, de 1 a 365 o 366 en un año bisiesto.
Mes getMonth () – Mes de devoluciones.
int getDayOfMonth () – Devuelve el día del mes como un número entero, de 1 a 31.
DayOfWeek getDayOfWeek () – Devuelve el día de la semana.
int getHour () – Devuelve la hora del día, de 0 a 23
int getMinute () – Devuelve los minutos de la hora, de 0 a 59
int getSecond () – Devuelve los segundos del minuto, de 0 a 59
int getNano () – Devuelve nanosegundos, de 0 a 999,999,999

import java.time.LocalDateTime;   
public class Example {  
    public static void main(String[] args) {  
    	/* given date time info is passed in of() method
    	 * the sequence of parameters are: Year, Month, Day, Hour
    	 * , Minutes, Seconds, NanoSeconds
    	 */
    	LocalDateTime localDateTime =
    		    LocalDateTime.of(2017, 10, 21, 11, 32, 55, 678);
    	System.out.println("Given Date Time: "+localDateTime); 
    
        System.out.println("getYear(): "+localDateTime.getYear());  
        System.out.println("getDayOfYear(): "+localDateTime.getDayOfYear());
        System.out.println("getMonth(): "+localDateTime.getMonth());
        System.out.println("getDayOfMonth(): "+localDateTime.getDayOfMonth());
        System.out.println("getDayOfWeek(): "+localDateTime.getDayOfWeek());
        System.out.println("getHour(): "+localDateTime.getHour());
        System.out.println("getMinute(): "+localDateTime.getMinute());
        System.out.println("getSecond(): "+localDateTime.getSecond());
        System.out.println("getNano(): "+localDateTime.getNano());
    }  
}

Producción:

Given Date Time: 2017-10-21T11:32:55.000000678
getYear(): 2017
getDayOfYear(): 294
getMonth(): OCTOBER
getDayOfMonth(): 21
getDayOfWeek(): SATURDAY
getHour(): 11
getMinute(): 32
getSecond(): 55
getNano(): 678

4. Java – Métodos LocalDateTime plus

plusYears () – Devuelve la copia de este LocalDateTime con los años especificados agregados.
plusMonths () – Devuelve la copia de este LocalDateTime con los meses especificados agregados.
plusDays () – Devuelve la copia de este LocalDateTime con los días especificados agregados.
plusHours () – Devuelve la copia de este LocalDateTime con las horas especificadas agregadas.
plusMinutes () – Devuelve la copia de este LocalDateTime con los minutos especificados agregados.
plusSeconds () – Devuelve la copia de este LocalDateTime con los segundos especificados agregados.
plusNanos () – Devuelve la copia de este LocalDateTime con los nanosegundos especificados agregados.

import java.time.LocalDateTime;   
public class Example {  
    public static void main(String[] args) {  
    	LocalDateTime localDateTime =
    		    LocalDateTime.now();
    	System.out.println("Current Date Time: "+localDateTime); 
    
        System.out.println("Added 2 Years: "+localDateTime.plusYears(2));  
        System.out.println("Added 1 Month: "+localDateTime.plusMonths(1));
        System.out.println("Added 5 Days: "+localDateTime.plusDays(5));
        System.out.println("Added 7 Hours: "+localDateTime.plusHours(7));
        System.out.println("Added 15 Minutes: "+localDateTime.plusMinutes(15));
        System.out.println("Added 10 Seconds: "+localDateTime.plusSeconds(10));
        System.out.println("Added 1000 nano Seconds: "+localDateTime.plusNanos(1000));
    }  
}

Producción:

Current Date Time: 2017-10-31T14:24:23.233
Added 2 Years: 2019-10-31T14:24:23.233
Added 1 Month: 2017-11-30T14:24:23.233
Added 5 Days: 2017-11-05T14:24:23.233
Added 7 Hours: 2017-10-31T21:24:23.233
Added 15 Minutes: 2017-10-31T14:39:23.233
Added 10 Seconds: 2017-10-31T14:24:33.233
Added 1000 nano Seconds: 2017-10-31T14:24:23.233001

5. Cálculo de Java LocalDateTime utilizando métodos menos

Estos métodos devuelven una copia modificada de LocalDateTime restando la cantidad especificada por LocalDateTime. Esto significa que la instancia de LocalDateTime real no se cambia, pero se devuelve una nueva copia con el valor modificado.
menos años ()
menos meses ()
minusDays ()
minusHours ()
minusMinutes ()
menos segundos ()
lessNanos ()

import java.time.LocalDateTime;   
public class Example {  
    public static void main(String[] args) {  
    	LocalDateTime localDateTime =
    		    LocalDateTime.now();
    	System.out.println("Current Date Time: "+localDateTime); 
    
        System.out.println("Subtracted 3 Years: "+localDateTime.minusYears(3));  
        System.out.println("Subtracted 2 Month: "+localDateTime.minusMonths(2));
        System.out.println("Subtracted 3 Days: "+localDateTime.minusDays(3));
        System.out.println("Subtracted 6 Hours: "+localDateTime.minusHours(6));
        System.out.println("Subtracted 30 Minutes: "+localDateTime.minusMinutes(30));
        System.out.println("Subtracted 15 Seconds: "+localDateTime.minusSeconds(15));
        System.out.println("Subtracted 2000 nano Seconds: "+localDateTime.minusNanos(2000));
    }  
}

Producción:

Current Date Time: 2017-10-31T14:31:04.695
Subtracted 3 Years: 2014-10-31T14:31:04.695
Subtracted 2 Month: 2017-08-31T14:31:04.695
Subtracted 3 Days: 2017-10-28T14:31:04.695
Subtracted 6 Hours: 2017-10-31T08:31:04.695
Subtracted 30 Minutes: 2017-10-31T14:01:04.695
Subtracted 15 Seconds: 2017-10-31T14:30:49.695
Subtracted 2000 nano Seconds: 2017-10-31T14:31:04.694998

6. Ejemplo de Java LocalDateTime: métodos isBefore (), isAfter () e isEqual ()

import java.time.LocalDateTime;   
public class Example {  
    public static void main(String[] args) { 
    	//current date time
    	LocalDateTime currentDateTime = LocalDateTime.now();
    	System.out.println("Current Date Time: "+currentDateTime);
    	
    	//given date time
    	LocalDateTime localDateTime = 
    			LocalDateTime.of(2017, 9, 30, 11, 20, 45, 999);
    	System.out.println("Given Date Time: "+localDateTime);
    	
    	System.out.println("Is current date/time before given date/time? "+
    	currentDateTime.isBefore(localDateTime));
    	
    	System.out.println("Is current date/time after given date/time? "+
    	    	currentDateTime.isAfter(localDateTime));
    	
    	System.out.println("Is current date/time equal to given date/time? "+
    	    	currentDateTime.isEqual(localDateTime));
    }  
}

Producción:

Current Date Time: 2017-10-31T14:37:18.128
Given Date Time: 2017-09-30T11:20:45.000000999
Is current date/time before given date/time? false
Is current date/time after given date/time? true
Is current date/time equal to given date/time? false

7. Ejemplo de métodos LocalDateTime “con”

Con métodos como withYear (), withMonth (), etc. Devuelven una copia de LocalDateTime después de reemplazar un valor de fecha u hora en particular (según el método) con el valor especificado. Por ejemplo, withYear (2016) reemplazaría el año en la fecha / hora con 2016 y los campos restantes en la fecha y hora permanecerían sin cambios.

import java.time.LocalDateTime;   
public class Example {  
    public static void main(String[] args) { 
    	//current date time
    	LocalDateTime currentDateTime = LocalDateTime.now();
    	System.out.println("Current Date Time: "+currentDateTime);
    	
    	LocalDateTime localDateTime2 = currentDateTime.withYear(2016);
    	System.out.println("Year Changed: "+localDateTime2);
    	LocalDateTime localDateTime3 = currentDateTime.withHour(3);
    	System.out.println("Hour Changed: "+localDateTime3);
    }  
}

Producción:

Current Date Time: 2017-10-31T14:42:13.319
Year Changed: 2016-10-31T14:42:13.319
Hour Changed: 2017-10-31T03:42:13.319

En el ejemplo anterior, podemos ver cómo funcionan los métodos withYear () y withHour (). Del mismo modo, los otros métodos como withMonth (), withMinute (), withSecond, withNano () etc. Reemplazan el mes, los minutos, los segundos y los nanosegundos respectivamente en la fecha y la hora.

leer  Java - Convertir fecha a LocalDate

Referencia:

LocalDateTime – JavaDoc

Por avivcas

Deja una respuesta

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