LocalDate, LocalTime, LocalDateTime
Represente fechas y horas
LocalDate, LocalTime, LocalDateTime es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
La API de fechas moderna
Desde Java 8, el paquete java.time sustituyó a las clases antiguas y propensas a errores Date y Calendar. Sus tipos principales son LocalDate, LocalTime y LocalDateTime.
Todas son inmutables y seguras en entornos multihilo.
LocalDate
LocalDate representa una fecha sin componente horario: año, mes y día. LocalDate.now() devuelve la fecha de hoy, pero las pruebas deben usar una fecha fija para obtener resultados predecibles.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date);
}
}Leer las partes de una fecha
Puede extraer cada componente con getYear, getMonthValue, getDayOfMonth y el práctico getDayOfWeek.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.getYear());
System.out.println(date.getMonthValue());
System.out.println(date.getDayOfWeek());
}
}LocalTime
LocalTime representa una hora del día sin fecha: horas, minutos, segundos y nanosegundos.
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalTime time = LocalTime.of(14, 30, 15);
System.out.println(time);
System.out.println(time.getHour());
}
}LocalDateTime
LocalDateTime combina una fecha y una hora en un único valor. Sigue sin tener una zona horaria asociada.
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
System.out.println(dt);
}
}Combinar fecha y hora
Puede combinar un LocalDate con un LocalTime mediante atTime, lo que produce un LocalDateTime.
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
public class Main {
public static void main(String[] args) {
LocalDate d = LocalDate.of(2026, 5, 30);
LocalTime t = LocalTime.of(8, 0);
LocalDateTime dt = d.atTime(t);
System.out.println(dt);
}
}Inmutabilidad y with
Estos tipos son inmutables. Los métodos como withYear devuelven una nueva copia modificada y dejan el original sin cambios.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate original = LocalDate.of(2026, 5, 30);
LocalDate changed = original.withYear(2030);
System.out.println(original);
System.out.println(changed);
}
}Comparar fechas
Use isBefore, isAfter e isEqual para comparar el orden cronológico de forma legible.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate a = LocalDate.of(2026, 1, 1);
LocalDate b = LocalDate.of(2026, 12, 31);
System.out.println(a.isBefore(b));
System.out.println(a.isAfter(b));
}
}Consultas útiles
Los métodos de conveniencia responden preguntas habituales, como isLeapYear y lengthOfMonth.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2024, 2, 1);
System.out.println(date.isLeapYear());
System.out.println(date.lengthOfMonth());
}
}Analizar texto
Cada tipo puede analizar una cadena con formato ISO. LocalDate.parse lee un valor como 2026-05-30.
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.parse("2026-05-30");
System.out.println(date.getMonth());
}
}Elegir el tipo adecuado
Use LocalDate para cumpleaños y fechas del calendario, LocalTime para horarios de apertura y LocalDateTime para una cita que combina una fecha y una hora. Ninguno de ellos incluye una zona horaria.
Comprobación rápida
Compruebe cuánto domina los tipos básicos de fecha y hora.
Resumen
Ha aprendido los tipos básicos de java.time:
LocalDatepara fechas,LocalTimepara horas yLocalDateTimepara ambos- Todos son inmutables; los métodos
withdevuelven nuevas copias - Lea sus componentes con
getYear,getDayOfWeeky otros getters similares - Compare con
isBeforeeisAfter - Analice cadenas ISO con
parse
Preguntas frecuentes
¿La lección «LocalDate, LocalTime, LocalDateTime» es gratis?
Sí — el texto completo de «LocalDate, LocalTime, LocalDateTime» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «LocalDate, LocalTime, LocalDateTime»?
Represente fechas y horas Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «LocalDate, LocalTime, LocalDateTime»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- LocalDate, LocalTime, LocalDateTime
- Instant y Duration
- Period y aritmética de fechas
- Formateo con DateTimeFormatter