En este apartado, disponemos de una serie de funciones que nos permiten comprobar si una fecha es igual, superior o inferior a otra, o si una fecha pertenece a un año bisiesto…
Comparación de fechas
- Compara si un LocalDate es de una fecha posterior a otra
- boolean isAfter(ChronoLocalDate other)
- Compara si un LocalDate es de una fecha anterior a otra
- boolean isBefore(ChronoLocalDate other)
- Compara si un LocalDate es la misma fecha que otra
- boolean isEqual(ChronoLocalDate other)
- Compara si dos objetos LocalDate contienen lo mismo (incluido el nulo)
- boolean equals(Object obj)
- Devuelve un integer menor que cero, 0, o mayor que cero, resultado de la resta de las fechas
- int compareTo(ChronoLocalDate other)
Si queremos comprobar si una fecha esta dentro de un año bisiesto
- boolean isLeapYear()
Una utilidad mas es comprobar si el campo soporta un tipo de unidad en concreto, que la entregamos como TemporalField o TemporalUnit
- boolean isSupported(TemporalField field)
- boolean isSupported(TemporalUnit unit)
En el ejemplo vemos como podemos utilizar todas estas funciones
La clase es LocalDateIs.java y esta en mi repositorio https://github.com/recursosformacion/java08/tree/main/Java08
public static void main(String[] args) {
LocalDate d1 = LocalDate.of(2022, Month.AUGUST, 13);
System.out.println("d1 :" + d1);
System.out.println("d1 es bisiesto? :" + d1.isLeapYear());
LocalDate d2 = LocalDate.of(2024, Month.APRIL, 13);
System.out.println("d2 :" + d2);
System.out.println("d2 es bisiesto? :" + d2.isLeapYear());
System.out.println("d1 es after? :" + d1.isAfter(d2));
System.out.println("d1 es before? :" + d1.isBefore(d2));
System.out.println("d1 es =? :" + d1.equals(d2));
System.out.println("d1 compareTo :" + d1.compareTo(d2));
System.out.println("d1 is supported ChronoField.MILLI_OF_SECOND:" + d1.isSupported(java.time.temporal.ChronoField.MILLI_OF_SECOND));
System.out.println("d1 is supported ChronoField.DAY_OF_WEEK :" + d1.isSupported(java.time.temporal.ChronoField.DAY_OF_WEEK));
System.out.println("d1 is supported ChronoField.DAY_OF_MONTH :" + d1.isSupported(java.time.temporal.ChronoField.DAY_OF_MONTH));
System.out.println("d1 is supported ChronoField.DAY_OF_YEAR :" + d1.isSupported(java.time.temporal.ChronoField.DAY_OF_YEAR));
System.out.println("d1 is supported ChronoField.MONTH_OF_YEAR :" + d1.isSupported(java.time.temporal.ChronoField.MONTH_OF_YEAR));
System.out.println("d1 is supported ChronoField.YEAR :" + d1.isSupported(java.time.temporal.ChronoField.YEAR));
}
Y obtenemos como resultado
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.