Menu
Coddy logo textTech

Uso de LocalDateTime

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 56 de 59.

LocalDateTime en Java combina tanto la fecha como la hora. Es útil cuando necesitas trabajar con ambos componentes, como horarios de eventos o marcas de tiempo.

Crear fecha y hora actual

LocalDateTime now = LocalDateTime.now();

Crear una fecha y hora específicas:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// 2024-03-15 14:30

Después de ejecutar el código anterior, dateTime contiene:

2024-03-15T14:30

Formatear una fecha y hora:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
challenge icon

Desafío

Fácil

Crea un método llamado processDateTime que tome cuatro argumentos:

  1. Un String (dateTimeStr) en formato "yyyy-MM-dd HH:mm"
  2. Un entero (amount) para agregar o restar
  3. Un String (unit) ya sea "hours", "days" o "months"
  4. Un String (operation) ya sea "add" o "subtract"

El método debe:

  1. Analizar la cadena de fecha y hora de entrada
  2. Realizar la operación especificada
  3. Devolver información formateada sobre el resultado

Los mensajes de retorno deben ser:

  • Si el formato es inválido: devolver "Invalid date time format"
  • Si la unidad es inválida: devolver "Invalid unit"
  • Si la operación es inválida: devolver "Invalid operation"
  • Para éxito: devolver "Original: [datetime], New: [new_datetime], Day: [day_name]"

Hoja de referencia

LocalDateTime combina tanto la fecha como la hora en Java.

Crear fecha y hora actual:

LocalDateTime now = LocalDateTime.now();

Crear una fecha y hora específica:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// Resulta en: 2024-03-15T14:30

Formatear una fecha y hora:

LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));

Pruébalo tú mismo

import java.util.Scanner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String processDateTime(String dateTimeStr, int amount, String unit, String operation) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateTimeStr = scanner.nextLine();
        int amount = Integer.parseInt(scanner.nextLine());
        String unit = scanner.nextLine();
        String operation = scanner.nextLine();
        
        System.out.println(processDateTime(dateTimeStr, amount, unit, operation));
    }
}
quiz iconPonte a prueba

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