Ya hemos visto cómo encontrar el número de días entre dos fechas anteriores a Java 8. En este tutorial veremos cómo calcular el número de días entre dos fechas en Java 8. Para calcular los días entre dos fechas podemos usar el DAYS.between() método de java.time.temporal.ChronoUnit.

Sintaxis de DAYS.between ():

long noOfDaysBetween = DAYS.between(startDate, endDate);
// or alternatively
long noOfDaysBetween = startDate.until(endDate, DAYS);

StartDate es inclusivo y endDate es exclusivo en el cálculo de noOfDaysBetween

Veamos el ejemplo completo de cómo utilizar este método.

1. Número de días entre dos fechas con el método DAYS.between ()

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;
public class Example {
   public static void main(String[] args) {
        //24-May-2017, change this to your desired Start Date
	LocalDate dateBefore = LocalDate.of(2017, Month.MAY, 24);
        //29-July-2017, change this to your desired End Date
	LocalDate dateAfter = LocalDate.of(2017, Month.JULY, 29);
	long noOfDaysBetween = ChronoUnit.DAYS.between(dateBefore, dateAfter);
	System.out.println(noOfDaysBetween);
   }    
}

Producción:

66

2. Analice las fechas y luego calcule los días entre ellas

En el ejemplo anterior, estamos pasando la fecha en el formato deseado, sin embargo, si tiene la fecha como una cadena, puede analizar la fecha para convertirla a Java 8 LocalDate. Después del análisis, estamos calculando los días entre similar al ejemplo anterior.

Puede analizar una fecha de cualquier formato en el formato deseado. Consulte el tutorial de Java: análisis de fechas para ver ejemplos de análisis de fechas.

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Example {
   public static void main(String[] args) {
	String dateBeforeString = "2017-05-24";
	String dateAfterString = "2017-07-29";
		
	//Parsing the date
	LocalDate dateBefore = LocalDate.parse(dateBeforeString);
	LocalDate dateAfter = LocalDate.parse(dateAfterString);
		
	//calculating number of days in between
	long noOfDaysBetween = ChronoUnit.DAYS.between(dateBefore, dateAfter);
		
	//displaying the number of days
	System.out.println(noOfDaysBetween);
   }    
}

Producción:

66
leer  Cambios en la interfaz de Java 8: método predeterminado y método estático

Por avivcas

Deja una respuesta

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