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 programaciones.
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:30Desafío
FácilCrea un método llamado processTime que tome cuatro argumentos:
- Una String (
timeStr) en formato "HH:mm" - Un entero (
amount) para sumar o restar - Una String (
unit) ya sea "hours" o "minutes" - Una String (
operation) ya sea "add" o "subtract"
El método debe:
- Parsear la cadena de tiempo de entrada
- Realizar la operación especificada
- Devolver información formateada sobre el resultado
Los mensajes de retorno deben ser:
- Si formato de tiempo inválido: devolver "Invalid time format"
- Si unidad inválida: devolver "Invalid unit"
- Si operación inválida: devolver "Invalid operation"
- Para éxito: devolver "Original: [time], New: [new_time]"
Hoja de referencia
LocalTime representa una hora sin fecha ni zona horaria en Java.
Crear hora actual:
LocalTime now = LocalTime.now();Crear una hora específica:
LocalTime time = LocalTime.of(14, 30); // 14:30 (2:30 PM)Añadir o restar tiempo:
LocalTime time = LocalTime.of(14, 30);
LocalTime later = time.plusMinutes(45); // 15:15
LocalTime earlier = time.minusHours(1); // 13:30Prué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));
}
}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