Menu
Coddy logo textTech

Операции с LocalTime

Часть раздела Логика и управление потоком путешествия по Java на Coddy — урок 55 из 59.

LocalTime в Java представляет время без даты или часового пояса. Это полезно для работы со значениями времени суток, такими как часы работы или расписания.

Создать текущее время:

LocalTime now = LocalTime.now();

Создайте конкретное время:

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

После выполнения приведённого выше кода time содержит:

14:30

Добавление или вычитание времени:

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

Задание

Легко

Создайте метод с именем processTime, который принимает четыре аргумента:

  1. Строка (timeStr) в формате "HH:mm"
  2. Целое число (amount) для добавления или вычитания
  3. Строка (unit) либо "hours", либо "minutes"
  4. Строка (operation) либо "add", либо "subtract"

Метод должен:

  1. Разобрать входную строку времени
  2. Выполнить указанную операцию
  3. Вернуть отформатированную информацию о результате

Сообщения возврата должны быть:

  • Если неверный формат времени: вернуть "Invalid time format"
  • Если неверная единица: вернуть "Invalid unit"
  • Если неверная операция: вернуть "Invalid operation"
  • При успехе: вернуть "Original: [time], New: [new_time]"

Шпаргалка

LocalTime представляет время без даты или часового пояса в Java.

Создать текущее время:

LocalTime now = LocalTime.now();

Создать конкретное время:

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

Добавить или вычесть время:

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

Попробуйте сами

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) {
        // Напишите свой код здесь
    }
    
    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 iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком