Menu
Coddy logo textTech

Operações com LocalTime

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 55 de 59.

LocalTime no Java representa um horário sem data ou fuso horário. É útil para trabalhar com valores de hora do dia, como horários de funcionamento ou cronogramas.

Criar hora atual:

LocalTime now = LocalTime.now();

Crie um horário específico:

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

Após executar o código acima, time contém:

14:30

Adicionar ou subtrair tempo:

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

Desafio

Fácil

Crie um método chamado processTime que recebe quatro argumentos:

  1. Uma String (timeStr) no formato "HH:mm"
  2. Um inteiro (amount) para adicionar ou subtrair
  3. Uma String (unit) seja "hours" ou "minutes"
  4. Uma String (operation) seja "add" ou "subtract"

O método deve:

  1. Analisar a string de tempo de entrada
  2. Executar a operação especificada
  3. Retornar informações formatadas sobre o resultado

As mensagens de retorno devem ser:

  • Se formato de tempo inválido: retorne "Invalid time format"
  • Se unidade inválida: retorne "Invalid unit"
  • Se operação inválida: retorne "Invalid operation"
  • Em caso de sucesso: retorne "Original: [time], New: [new_time]"

Folha de consulta

LocalTime representa um horário sem data ou fuso horário no Java.

Criar horário atual:

LocalTime now = LocalTime.now();

Criar um horário específico:

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

Adicionar ou subtrair tempo:

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

Experimente você mesmo

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) {
        // Escreva seu código aqui
    }
    
    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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo