El método between() de la clase Period en Java se utiliza para obtener un período que consiste en el número de años, meses y días entre dos fechas dadas (incluida la fecha de inicio y excluyendo la fecha de finalización).
Este período se obtiene de la siguiente manera:
- Eliminar meses completos.
- Ahora, calcule el número restante de días.
- Luego, ajuste para asegurarse de que ambos tengan el mismo signo.
- Ahora, divida la cantidad de meses en años y meses según un año de 12 meses.
- Considere un mes, si el día de finalización del mes es mayor o igual que el día de inicio del mes (Ej.: de 2017-05-12 a 2018-07-18 es un año, dos meses y seis días ).
Nota: El período obtenido de la fórmula anterior puede ser negativo , si el final es anterior al inicio. El signo negativo será el mismo en cada año, mes y día.
Sintaxis:
public static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive)
Parámetros:
- startDateInclusive: la fecha de inicio es inclusiva y no debe ser nula.
- endDateExclusive: la fecha de finalización es exclusiva y no debe ser nula.
Valor de retorno: La función between() del período devuelve el período entre la fecha de inicio y finalización dada.
A continuación se muestra la implementación de la función anterior:
// Java code to show the period // between given start and end date import java.time.LocalDate; import java.time.Period; public class PeriodClass { // Function to calculate period between // start and end date static void calculatePeriod(LocalDate startDate, LocalDate endDate) { Period period = Period.between(startDate, endDate); System.out.println("Period between start and end " + "date is : " + period); } // Driver Code public static void main(String[] args) { // Start date LocalDate startDate = LocalDate.parse("2017-02-13"); // End date LocalDate endDate = LocalDate.parse("2018-08-20"); calculatePeriod(startDate, endDate); } }
Period between start and end date is : P1Y6M7D
Referencia : https://docs.oracle.com/javase/8/docs/api/java/time/Period.html# between -java.time.LocalDate-java.time.LocalDate-