Menu
Coddy logo textTech

Operaciones con LocalTime

Parte de la sección Lógica y Flujo del Journey de Java de Coddy. Lección 55 de 59.

LocalTime en Java representa una hora sin fecha ni zona horaria. Es útil para trabajar con valores de hora del día, como horarios de apertura o cronogramas.

Crear hora actual:

LocalTime now = LocalTime.now();

Crear una hora específica:

LocalTime time = LocalTime.of(14, 30);
// 14:30 (2:30 PM)

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

14:30

Añadir o restar tiempo:

LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45);  // 15:15
LocalTime earlier = time.minusHours(1);  // 13:30
challenge icon

Desafío

Fácil

Crea un método llamado processTime que acepte cuatro argumentos:

  1. Una cadena (timeStr) con el formato "HH:mm"
  2. Un entero (amount) que se sumará o restará
  3. Una cadena (unit), ya sea "hours" o "minutes"
  4. Una cadena (operation), ya sea "add" o "subtract"

El método debe:

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

Los mensajes devueltos deben ser:

  • Si el formato de hora no es válido: devolver "Invalid time format"
  • Si la unidad no es válida: devolver "Invalid unit"
  • Si la operación no es válida: devolver "Invalid operation"
  • En caso de éxito: devolver "Original: [time], New: [new_time]"

Pruébalo tú mismo

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

public class Main {
    public static String processTime(String timeStr, int amount, String unit, String operation) {
        // Escribe tu código aquí
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String timeStr = scanner.nextLine();
        int amount = Integer.parseInt(scanner.nextLine());
        String unit = scanner.nextLine();
        String operation = scanner.nextLine();
        
        System.out.println(processTime(timeStr, 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

Practica por tu cuenta: Compilador de Java online