Clase Java LocalDate se introduce en Java 8 en el paquete java.time. La instancia de la clase LocalDate representa la fecha sin la información de la zona horaria. En esta guía, aprenderemos a usar la clase LocalDate y sus métodos.
1. Ejemplo de LocalDate para mostrar la fecha actual o cualquier fecha
Primero, tomemos un ejemplo simple para entender cómo usar la clase LocalDate para mostrar la fecha actual y una fecha determinada.
import java.time.LocalDate; public class Example { public static void main(String[] args) { /* This is how we can display the current date using now() * method */ LocalDate currentDate = LocalDate.now(); System.out.println("Current Date is: "+currentDate); /* We can convert a date to local date instance by using * of() method of the LocalDate */ LocalDate pastDate = LocalDate.of(2016, 01, 23); System.out.println("Given Date is: "+pastDate); } }
Producción:
Current Date is: 2017-10-22 Given Date is: 2016-01-23
2. Ejemplo de LocalDate para comprobar si un año determinado es bisiesto o no
Utilizando la isLeapYear()
método de la clase LocalDate, podemos verificar fácilmente si el año dado es bisiesto o no. Este método devuelve el valor booleano verdadero o falso. Si el año en cuestión es bisiesto, este método devuelve verdadero; de lo contrario, devuelve falso.
import java.time.LocalDate; public class Example { public static void main(String[] args) { LocalDate givenDate1 = LocalDate.of(2017, 6, 23); System.out.println(givenDate1.isLeapYear()); LocalDate givenDate2 = LocalDate.of(2012, 10, 20); System.out.println(givenDate2.isLeapYear()); LocalDate givenDate3 = LocalDate.of(2000, 11, 14); System.out.println(givenDate3.isLeapYear()); } }
Producción:
false true true
3. Convierta la cadena a LocalDate
Usando el método parse () de la clase Java LocalDate podemos convertir una cadena a LocalDate.
import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Example { public static void main(String[] args) { //Specify the pattern here that matches the given string DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd"); //String that contains date as a String String stringDate = "2017/10/23"; //Converting String to LocalDate LocalDate date = LocalDate.parse(stringDate, formatter); //Displaying LocalDate, this will print the date in default format System.out.println("Local Date: "+date); //This will print the date in the format specified in DateTimeFormatter System.out.println("Local Date in the given format: "+formatter.format(date)); } }
Producción:
Local Date: 2017-10-23 Local Date in the given format: 2017/10/23
Java – Métodos LocalDate
1. LocalDateTime atTime(int hour, int minute, int second):
Este método combina la fecha con la hora especificada para crear LocalDateTime.
hora: la hora del día en que se debe usar, de 0 a 23
minuto: los minutos de uso, de 0 a 59
segundo: el segundo del minuto a representar, de 0 a 59
2. LocalDateTime atStartOfDay (): este método funciona como el método atTime (), sin embargo en este método no especificamos la hora, combina la hora de la medianoche (inicio del día) con la fecha para crear LocalDateTime al comienzo de el dia.
3. int compareTo (ChronoLocalDate otro): compara esta fecha con la otra fecha especificada. Este método devuelve un valor negativo si la fecha es menor que otra fecha y devuelve un valor positivo si la fecha es mayor que la otra fecha.
4. public boolean equals (Object obj): Comprueba si esta fecha es igual a otra fecha. Este método es similar al método compareTo () excepto que devuelve el valor booleano verdadero y falso según la comparación.
5. boolean isAfter(ChronoLocalDate other):
Compruebe si esta fecha es posterior a la fecha especificada. Devuelve verdadero si esta fecha es posterior a la “otra fecha” especificada; de lo contrario, devuelve falso.
6. boolean isBefore(ChronoLocalDate other):
Compruebe si esta fecha es anterior a la fecha especificada. Devuelve verdadero si esta fecha es anterior a la “otra fecha” especificada; de lo contrario, devuelve falso.
7. boolean isEqual(ChronoLocalDate other):
Compruebe si esta fecha es la misma que la “otra” fecha especificada. Si ambas fechas son iguales, devuelve verdadero; de lo contrario, devuelve falso.
8. static LocalDate now():
Este método devuelve la fecha actual.
9. static LocalDate of(int year, Month month, int dayOfMonth):
Crea la instancia de LocalDate a partir del día, mes y año especificados
10. static LocalDate ofYearDay(int year, int dayOfYear):
Obtiene una instancia de LocalDate del año y dayOfYear especificados.
11. static LocalDate parse(CharSequence text, DateTimeFormatter formatter):
Ya hemos visto el ejemplo de este método arriba. Este método convierte la cadena de fecha en LocalDate usando el formato especificado por DateTimeFormatter.
12. int getYear():
Devuelve el año de la fecha especificada por LocalDate.
13. int getMonthValue():
Devuelve el valor entero del mes entre 1 y 12.
14. Month getMonth():
Obtiene el campo del mes del año mediante la enumeración Month.
15. int getDayOfMonth():
Este método devuelve el día del mes. El valor está entre 1 y 31.
dieciséis. int getDayOfYear():
1 a 365, o 366 en un año bisiesto
17. DayOfWeek getDayOfWeek():
Obtiene el campo del día de la semana, que es una enumeración DayOfWeek.
18. boolean isLeapYear():
Ya hemos visto el ejemplo anterior del método isLeapYear (). Este método comprueba si el año especificado en LocalDate es un año bisiesto o no.
19. int lengthOfYear():
Devuelve la duración del año. El valor devuelto sería 366 si el año es bisiesto, 365 en caso contrario.
20. LocalDate plusYears(long yearsToAdd):
Devuelve LocalDate después de agregar el número especificado de años “yearsToAdd”.
21. LocalDate plusMonths(long monthsToAdd):
Devuelve LocalDate después de agregar el número especificado de meses “monthsToAdd”.
22. LocalDate plusWeeks(long weeksToAdd):
Devuelve LocalDate después de agregar el objeto especificado
número de semanas “weeksToAdd”.
23. LocalDate plusDays(long daysToAdd):
Devuelve LocalDate después de agregar el número especificado de días “daysToAdd”.
24. LocalDate minusYears(long yearsToSubtract):
Devuelve LocalDate después de restar el número especificado de años “yearsToSubtract”.
25. LocalDate minusMonths(long monthsToSubtract):
Devuelve LocalDate después de restar el número especificado de meses “monthsToSubtract”.
26. LocalDate minusWeeks(long weeksToSubtract):
Devuelve LocalDate después de restar el número especificado de semanas “weeksToSubtract”.
27. LocalDate minusDays(long daysToSubtract):
Devuelve LocalDate después de restar el número especificado de días “daysToSubtract”.
28. Public Temporal AdjustInto (Temporal temporal): El método AdjustInto (Temporal temporal) de la clase LocalDate hace que el objeto Temporal tenga la misma fecha que este objeto
29. static LocalDate ofEpochDay(long epochDay):
Obtiene una instancia de LocalDate a partir del recuento de días de la época especificada.
Tutorial de Java – LocalDate
- Java – Convertir fecha a LocalDate
- Java: convierte la fecha local en la fecha
- Java – Convertir LocalDate en ZonedDateTime
- Java – Convertir LocalDate en LocalDateTime