Menu
CoddyTech

LocalTime 연산

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨. 59개 중 55번째.

Java의 LocalTime은 날짜나 시간대 없이 시간을 나타냅니다. 영업시간이나 일정과 같은 하루 중 시간 값을 다룰 때 유용합니다.

현재 시간 생성:

LocalTime now = LocalTime.now();

특정 시간을 생성합니다:

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

위 코드를 실행한 후 time에는 다음이 포함됩니다.

14:30

시간을 더하거나 빼세요:

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

HH:mm 형식의 String에서 시간을 파싱합니다:

LocalTime time = LocalTime.parse("14:30");  // 14:30

"25:70"처럼 유효한 시간이 아닌 문자열을 사용하면 parse()에서 DateTimeParseException이 발생합니다. 이는 LocalDate.parse()와 동일한 예외입니다. try-catch로 처리하세요:

try {
    LocalTime time = LocalTime.parse("25:70");
} catch (DateTimeParseException e) {
    System.out.println("Invalid time format");
}
challenge icon

챌린지

쉬움

processTime라는 메서드를 만들고 다음 네 가지 인수를 받도록 하세요:

  1. "HH:mm" 형식의 String(timeStr)
  2. 더하거나 뺄 정수(amount)
  3. "hours" 또는 "minutes"인 String(unit)
  4. "add" 또는 "subtract"인 String(operation)

메서드는 다음을 수행해야 합니다:

  1. 입력 시간 문자열을 파싱합니다
  2. 지정된 연산을 수행합니다
  3. 결과에 관한 서식이 지정된 정보를 반환합니다

반환 메시지는 다음과 같아야 합니다:

  • 시간 형식이 유효하지 않은 경우: "Invalid time format"을 반환합니다
  • 단위가 유효하지 않은 경우: "Invalid unit"을 반환합니다
  • 연산이 유효하지 않은 경우: "Invalid operation"을 반환합니다
  • 성공한 경우: "Original: [time], New: [new_time]"을 반환합니다

직접 해보기

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실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Java 컴파일러