Date/Time Principiante

Calcula diferencias de tiempo con Duration y Period con tipado seguro.

✕ Pre-Java 8
// How many days between two dates?
long diff = date2.getTime()
    - date1.getTime();
long days = diff
    / (1000 * 60 * 60 * 24);
// ignores DST, leap seconds
✓ Java 8+
long days = ChronoUnit.DAYS
    .between(date1, date2);
Period period = Period.between(
    date1, date2);
Duration elapsed = Duration.between(
    time1, time2);
¿Ves un problema con este código? Cuéntanos.
🎯

Tipado seguro

Duration para tiempo, Period para fechas — sin confusión.

🛡️

Cálculo correcto

Maneja transiciones de horario de verano, años bisiestos y segundos intercalares.

📖

Legible

ChronoUnit.DAYS.between() se lee como lenguaje natural.

Enfoque Antiguo
Aritmética con milisegundos
Enfoque Moderno
Duration / Period
Desde JDK
8
Dificultad
Principiante
Duration y Period
Disponible

Ampliamente disponible desde JDK 8 (marzo de 2014)

Duration es para cantidades basadas en tiempo (horas, minutos, segundos). Period es para cantidades basadas en fechas (años, meses, días). ChronoUnit.between() para diferencias simples. Todos manejan correctamente los casos límite.

Compartir 𝕏 🦋 in