Fundamentos de LocalDate
Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 54 de 59.
LocalDate en Java representa una fecha sin hora ni zona horaria. Se utiliza para trabajar con fechas como cumpleaños, festivos o horarios.
Crear la fecha de hoy:
LocalDate today = LocalDate.now();Crear una fecha específica:
LocalDate date = LocalDate.of(2024, 3, 15);Después de ejecutar el código anterior, date contiene: 2024-03-15
Obtener diferentes partes de una fecha:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15Analizar una fecha desde un String:
LocalDate date = LocalDate.parse("2024-03-15"); // Formato: "yyyy-MM-dd"Importante: Si el formato de la cadena es inválido, parse() lanza una DateTimeParseException. Utilice try-catch para manejar esto:
try {
LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
System.out.println("Invalid date format");
}Sumar o restar días:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10Después de ejecutar el código anterior:
future: 2024-03-25past: 2024-03-10
Desafío
FácilCrea un método llamado processDate que tome tres argumentos:
- Una cadena (
dateStr) en formato "yyyy-MM-dd" - Un entero (
days) para agregar o restar - Una cadena (
operation) que sea "add" o "subtract"
El método debe:
- Analizar la cadena de fecha de entrada
- Agregar o restar el número especificado de días
- Devolver información formateada sobre el resultado
Los mensajes de retorno deben ser:
- Si el formato de fecha es inválido: devolver "Invalid date format"
- Si la operación es inválida: devolver "Invalid operation"
- En caso de éxito: devolver "Original: [date], New: [new_date], Day of week: [day_name]"
Hoja de referencia
LocalDate representa una fecha sin hora ni zona horaria en Java.
Crear la fecha de hoy:
LocalDate today = LocalDate.now();Crear una fecha específica:
LocalDate date = LocalDate.of(2024, 3, 15);Obtener diferentes partes de una fecha:
LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear(); // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth(); // 15
String dayOfWeek = date.getDayOfWeek().toString(); // "FRIDAY"Analizar una fecha desde un String:
LocalDate date = LocalDate.parse("2024-03-15"); // Formato: "yyyy-MM-dd"Añadir o restar días:
LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10); // 2024-03-25
LocalDate past = date.minusDays(5); // 2024-03-10Pruébalo tú mismo
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDate(String dateStr, int days, String operation) {
// Escribe tu código aquí
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
int days = Integer.parseInt(scanner.nextLine());
String operation = scanner.nextLine();
System.out.println(processDate(dateStr, days, operation));
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas10Fecha y Hora
Fundamentos de LocalDateOperaciones con LocalTimeUso de LocalDateTimePeriod y DurationFormato de fechasManejo de zonas horarias2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras