Cómo calcular el número de días entre dos fechas dadas en el procesamiento de 3?

Danial Kosarifar:

Estoy tratando de calcular el número de días entre dos fechas dadas utilizando el procesamiento 3. Pero estoy frente a un problema con la biblioteca de la fecha.

import java.text.SimpleDateFormat;
import java.util.Date;

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;


Date epoDate = new Date();  
  Date epo = new Date();
    try {
      epoDate = new SimpleDateFormat("yyyy-mm-dd").parse("2015-01-03");
       epo = new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");
    }
    catch (Exception e) {
    }

   ChronoUnit.DAYS.between(epo,epoDate);

}

el problema está en la última línea de la función entre donde dice que requiere 2 temporal como entradas?

Meno Hochschild:

Su error del compilador se puede resolver mediante el uso del tipo correcto . No utilizar java.util.Date(tal como lo devuelve SimpleDateFormat-parser) pero el uso java.time.LocalDateque también ofrece un análisis sintáctico-método directo reconocer la norma ISO-formato aaaa-MM-dd.

En lugar de

new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");

utilizar

LocalDate.parse("2015-04-23");

Otra cosa:

El código de ejemplo final ChronoUnit.DAYS.between(epo,epoDate);no evalúa el resultado. Debe asignar el resultado a un largo primitiva para su posterior procesamiento.

Acerca de su comentario sobre la entrada con un dígito meses

Se puede utilizar el análisis sintáctico-método sobrecargado aceptar un argumento adicional formateador de esta manera:

LocalDate.parse("2015-4-23", DateTimeFormatter.ofPattern("uuuu-M-dd"));

También debe trabajar con dos dígitos meses. Y recomiendo a asignar el objeto formateador a una constante static final por razones de rendimiento.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=225243&siteId=1
Recomendado
Clasificación