날짜 서식 지정
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 58번째.
Java의 DateTimeFormatter는 다양한 패턴으로 날짜와 시간을 포맷할 수 있게 합니다. LocalDate, LocalTime, LocalDateTime과 함께 사용할 수 있습니다.
특정 패턴으로 포매터를 생성하세요:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");formatter를 사용하여 날짜를 포맷하세요:
LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);위 코드를 실행한 후, formatted에는 다음이 포함되어 있습니다:
2024-03-15
문자열을 날짜로 파싱:
String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);챌린지
쉬움formatDate라는 이름을 가진 메서드를 생성하세요. 이 메서드는 세 개의 인수를 받습니다:
- 형식 "yyyy-MM-dd"인 String (
dateStr) - 입력 날짜의 패턴인 String (
inputPattern) - 원하는 출력 패턴인 String (
outputPattern)
이 메서드는 다음을 수행해야 합니다:
- 입력 패턴을 사용하여 입력 날짜를 파싱합니다
- 출력 패턴을 사용하여 포맷합니다
- 다음 패턴들을 처리합니다:
- "basic": "yyyy-MM-dd"
- "long": "MMMM d, yyyy"
- "short": "MM/dd/yy"
- "custom": 실제 패턴 문자열
반환 메시지는 다음과 같아야 합니다:
- 잘못된 날짜인 경우: "Invalid date format"을 반환합니다
- 잘못된 패턴인 경우: "Invalid pattern"을 반환합니다
- 성공한 경우: 포맷된 날짜를 반환합니다
치트 시트
DateTimeFormatter는 특정 패턴으로 날짜와 시간을 포맷할 수 있게 해줍니다:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");포맷터를 사용하여 날짜를 포맷합니다:
LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);문자열을 날짜로 파싱합니다:
String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);직접 해보기
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
// 여기에 코드를 작성하세요
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
String inputPattern = scanner.nextLine();
String outputPattern = scanner.nextLine();
System.out.println(formatDate(dateStr, inputPattern, outputPattern));
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.