Java 8 introdujo el paquete java.time (JSR-310), una API de fecha y hora moderna, inmutable y segura para subprocesos. Reemplazó los notoriamente defectuosos java.util.Date y Calendar. Los tipos principales son LocalDate (solo fecha), LocalTime (solo hora), LocalDateTime (ambos), ZonedDateTime (con zona horaria) e Instant (marca de tiempo de la máquina).
LocalDate — fecha sin hora