JAVA/Java Platform, Standard Edition
[공식 문서] 자바 날짜/시간 포맷(DateFormat) 변환 완벽 가이드
yebin0322
2025. 2. 10. 20:14
반응형
https://docs.oracle.com/javase/8/docs/api/java/text/DateFormat.html
java.text.DateFormat
- 날짜와 시간을 특정 형식(Format)으로 변환하거나, 문자열을 날짜 객체(Date)로 변환(Parsing)하는 기능을 제공하는 추상 클래스
- 날짜 -> 문자열, 문자열 -> 날짜 변환을 수행하는 클래스
- 로케일(Locale)에 맞춰 자동으로 형식을 조정할 수 있음
사용 이유
- 언어 및 국가 설정(Locale)에 따라 자동으로 날짜 형식을 맞춤
- 날짜(Date) -> 문자열(String) 변환(Formatting)
- 문자열(String) -> 날짜(Date) 변환(Parsing)
- 시간대(TimeZone) 설정 가능
- 추상 클래스이므로 직접 객체를 생성하지 않고, 하위 클래스(SimpleDateFormat)를 사용하거나 getInstance() 메소드를 사용하야 함
Static Methods(정적 메소드)
메소드 | 설명 |
---|---|
getDateInstance() | 날짜만 변환 |
getTimeInstance() | 시간만 변환 |
getDateTimeInstance() | 날짜 + 시간 변환 |
getInstance() | 기본 날짜 및 시간 변환 |
주의점
- DateFormat은 멀티스레드 환경에서 안전하지 않음 -> 내부적으로 Calender와 NumberFormat을 공유(Shared State)하기 때문
- 여러 스레드에서 동시에 사용할 경우 문제가 발생할 수 있음
DateFromat vs SimpleDateFormat
- DateFormat은 추상 클래스라서 세부적인 포맷 지정이 불가능함
- 특정 패턴을 사용하고 싶다면 SimpleDateFormat을 활용하는 것이 좋음
반응형