날짜와 시간 정보가 포함된 문자열을 파싱해서 날짜와 시간을 생성하는 두 개의 parse() 정적 메서드
클래스 | 리턴 타입 | 메섣, |
LocalDate LocalTime LocalDateTime ZonedDateTime |
LocalDate LocalTime LocalDateTime ZonedDateTime |
parse(CharSequence) parse(CharSequence, DateTimeFormatter) |
LocalDate의 parse(CharSequence) 메서드는 기본적으로 ISO_LOCAL_DATE 포맷터를 사용해서 문자열 파싱합니다. ISO_LOCAL_DATE는 DateTimeFormatter 상수로 정의되어 있는데 "2023-11-11" 형식의 포맷터입니다.
LocalDate localDate = LocalDate.parse("2024-11-11");
다른 포맷터를 이용해서 문자열을 파싱하고 싶다면 parse(CharSequence, DateTimeFormatter) 메서드를 사용할 수 있습니다. DateTimeFormatter는 ofPattern() 메서드로 정의할 수도 있는데 다음의 코드는 "2024.05.21 형식의 DateTimeFormatter를 정의하고 문자열을 파싱했습니다.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
LocalDate localDate = LocalDate.parse("2024.11.11", formatter);
DateTimeFormatter에는 표준화된 포맷터들이 다음과 같이 상수로 미리 정의되어 있습니다.
ofPattern() 메서드를 사용하지 않고도 바로 이용할 수 있습니다.
상수 | 설명 | 예 |
BASIC_ISO_DATE | Basic ISO date | "20231111" |
ISO_LOCAL_DATE | ISO Local Date | "2023-11-11" |
ISO_OFFSET_DATE | ISO Date with offset | "2023-11-11+01:00" |
ISO_DATE | ISO Date with or without offset | "2023-11-11+01:00";"2023-11-11" |
ISO_LOCAL_TIME | Time without offset | "10:11:30" |
ISO_OFFSET_TIME | Time with offset | "10:15:30+01:00" |
ISO_TIME | Time with or without offset | "10:15:30+01:00"; "10:15:30" |
위 표 외에도 포맷 상수에 따른 방식이 다양하게 있습니다.
날짜와 시간을 포맷팅된 문자열로 변환시키는 format() 메서드입니다.
클래스 | 리턴타입 | 메서드 |
LocalDate LocalTime LocalDateTime ZonedDateTime |
String | format(DateTimeFormatter formatter) |
format()의 매개값은 DateTimeFormatter 인데 해당 형식대로 문자열을 리턴합니다.
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy년 M월 d일 a h시 m분");
String nowString = now.format(dateTimeFormatter);
스레드 상태제어 (1) | 2024.01.30 |
---|---|
스레드 생성 방법 (Runnable) (0) | 2024.01.29 |
Objects 클래스 설명 (0) | 2024.01.26 |
예외처리 (Exception, RuntimeException, 사용자 정의 예외) (1) | 2024.01.22 |
JPA 고급 매핑 (1) (상속관계매핑, @MappedSuperclass) (0) | 2024.01.21 |
댓글 영역