Period와 Duration
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 57번째.
Period는 날짜 기반 시간량(년, 월, 일)을 나타내는 반면, Duration은 시간 기반 양(시간, 분, 초)을 나타냅니다.
Period 생성:
Period period = Period.of(1, 2, 15);
// 1년, 2개월, 15일Duration 생성:
Duration duration = Duration.ofHours(2);
// 2 hours
Duration minutes = Duration.ofMinutes(90);
// 90 minutes위의 코드를 실행한 후, period에는 다음이 포함됩니다:
P1Y2M15D // ISO-8601 format챌린지
쉬움calculateDifference라는 이름의 메서드를 생성하세요. 이 메서드는 네 개의 인수를 받습니다:
- 형식 "yyyy-MM-dd HH:mm"인 String (
start) - 형식 "yyyy-MM-dd HH:mm"인 String (
end) - "period" 또는 "duration"인 String (
unit) - "full" 또는 "simple"인 String (
format)
이 메서드는 다음을 수행해야 합니다:
- 시작 날짜와 끝 날짜 사이의 차이를 계산하세요
- 지정된 형식으로 차이를 반환하세요
반환 메시지는 다음과 같아야 합니다:
- 날짜가 잘못된 경우: "Invalid date format"을 반환하세요
- unit이 잘못된 경우: "Invalid unit"을 반환하세요
- format이 잘못된 경우: "Invalid format"을 반환하세요
- "full" 형식의 period의 경우: "Years: X, Months: Y, Days: Z"
- "simple" 형식의 period의 경우: "XyYmZd"
- "full" 형식의 duration의 경우: "Hours: X, Minutes: Y"
- "simple" 형식의 duration의 경우: "XhYm"
치트 시트
Period는 날짜 기반 양(년, 월, 일)을 나타내는 반면, Duration은 시간 기반 양(시간, 분, 초)을 나타냅니다.
Period 생성:
Period period = Period.of(1, 2, 15);
// 1년, 2개월, 15일Duration 생성:
Duration duration = Duration.ofHours(2);
// 2시간
Duration minutes = Duration.ofMinutes(90);
// 90분Period는 ISO-8601 형식을 사용합니다:
P1Y2M15D // 1년, 2개월, 15일직접 해보기
import java.util.Scanner;
import java.time.*;
import java.time.format.*;
public class Main {
public static String calculateDifference(String start, String end, String unit, String format) {
// 여기에 코드를 작성하세요
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String start = scanner.nextLine();
String end = scanner.nextLine();
String unit = scanner.nextLine();
String format = scanner.nextLine();
System.out.println(calculateDifference(start, end, unit, format));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.