DateTimeFormatterBuilder — 날짜-시간 포맷터 생성 빌더
DateTimeFormatterBuilder — 날짜-시간 포맷터 생성 빌더
DateTimeFormatterBuilder는 날짜-시간 포맷터(포매터)를 만드는 데 사용하는 빌더 클래스예요. 모든 날짜-시간 포맷터는 궁극적으로 이 빌더를 통해 만들어져요.
본문
시그니처
public final class DateTimeFormatterBuilder extends Object
이 클래스는 가변(mutable) 빌더로, 단일 스레드에서 사용하도록 설계되었어요.
설명
이 빌더를 사용하면 DateTimeFormatter를 만들 수 있어요. 날짜-시간의 기본 요소들을 모두 추가할 수 있어요:
- Value — 숫자 값
- Fraction — 소수점을 포함한 분수 값. 분수가 올바르게 파싱되도록 분수 출력 시 항상 사용해요
- Text — 값의 텍스트 표현
- OffsetId/Offset — 존 오프셋(zone offset)
- ZoneId — 시간대(time-zone) id
- ZoneText — 시간대 이름
- ChronologyId — 크로놀로지(chronology) id
- ChronologyText — 크로놀로지 이름
- Literal — 텍스트 리터럴
- Nested and Optional — 포맷을 중첩하거나 선택적으로 만들 수 있어요
또한 모든 요소에 공백이나 다른 문자로 패딩(padding)을 추가해 장식할 수 있어요. 마지막으로 java.text.SimpleDateFormat과 대부분 호환되는 축약 패턴을 사용할 수도 있어요. 자세한 내용은 appendPattern(String)을 참고하세요. 실제로는 패턴을 파싱해서 빌더의 다른 메서드를 호출하는 방식으로 동작해요.
주요 메서드
append(DateTimeFormatter formatter)— 포맷터의 모든 요소를 빌더에 추가해요.appendChronologyId()— 'ISO'나 'ThaiBuddhist' 같은 크로놀로지 ID를 포맷터에 추가해요.appendText(TemporalField field, TextStyle textStyle)— 날짜-시간 필드의 텍스트를 포맷터에 추가해요.appendValue(TemporalField field)— 날짜-시간 필드의 값을 일반 출력 스타일로 포맷터에 추가해요.appendPattern(String pattern)— 지정한 패턴으로 정의된 요소들을 빌더에 추가해요.appendOffset(String pattern, String noOffsetText)— '+01:00' 같은 존 오프셋을 포맷터에 추가해요.appendZoneId()— 'Europe/Paris' 또는 '+02:00' 같은 시간대 ID를 포맷터에 추가해요.appendInstant()— ISO-8601을 사용해 인스턴트(instant)를 3자리 단위로 그룹화한 분수 자릿수로 포맷해요.appendOptional(DateTimeFormatter formatter)— 선택적으로 포맷/파싱할 포맷터를 빌더에 추가해요.optionalStart()/optionalEnd()— 선택 구간의 시작과 끝을 표시해요.padNext(int padWidth)— 다음에 추가되는 프린터/파서를 공백으로 고정 폭까지 패딩해요.parseCaseInsensitive()— 나머지 포맷터의 파싱 스타일을 대소문자 구분 없이 바꿔요.getLocalizedDateTimePattern(FormatStyle dateStyle, FormatStyle timeStyle, Chronology chrono, Locale locale)— 로케일과 크로놀로지에 대한 날짜·시간 스타일의 형식 패턴을 가져와요.