반응형
Date와 Calendar, 두 개 만으로는 날짜 데이터를 원하는 형태로 다양하게 출력하는 것이 어려운데 SimpleDataFormat을 사용하면 간단히 해결 할 수 있다.
(Date, Calendar 참고 : https://devmango.tistory.com/145)
DateFormat은 추상클래스로 SimpleDateFormat의 조상이다. DateFormat은 추상클래스이므로 인스턴스를 생성하기 위해서는 getDateInstance()와 같은 static 메서드를 이용해야 한다.
getDateInstance()에 의해서 반환되는 것은 DateFormat을 상속받아 완전하게 구현한 SimpleDateFormat 인스턴스이다.
기호 | 의미 | 예 |
G | 연대(BC, AD) | AD |
y | 년도 | 2023 |
M | 월(1~12 또는 1월~12월) | 10 또는 10월, OCT |
w | 년의 몇 번째 주(1~53) | 50 |
W | 월의 몇 번째 주(1~5) | 4 |
D | 년의 몇 번째 일(1~366) | 100 |
d | 월의 몇 번째 일(1~31) | 15 |
F | 월의 몇 번째 요일(1~5) | 1 |
E | 요일 | 월 |
a | 오전/오후(AM, PM) | PM |
H | 시간(0~23) | 20 |
k | 시간(1~24) | 13 |
K | 시간(0~11) | 10 |
h | 시간(1~12) | 11 |
m | 분(0~59) | 35 |
s | 초(0~59) | 55 |
S | 천분의 일초(0~999) | 253 |
z | Time zone(General time zone) | GMT +9:00 |
Z | Time zone(RFC 822 time zone) | +0900 |
' | escaple문자(특수문자를 사용하는데 사용) |
import java.text.*;
import java.util.*;
public class DateFormatEx{
public static void main(String[] args) {
Date today = new Date();
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(today));
System.out.println(new SimpleDateFormat("''yy년 MM월 dd일 E요일").format(today));
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(today));
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a").format(today));
System.out.println(new SimpleDateFormat("오늘은 올 해의 D번째 날.").format(today));
System.out.println(new SimpleDateFormat("오늘은 이 달의 d번째 날").format(today));
System.out.println(new SimpleDateFormat("오늘은 올 해의 w번째 주").format(today));
System.out.println(new SimpleDateFormat("오늘은 이 달의 W번째 주").format(today));
System.out.println(new SimpleDateFormat("오늘은 이 달의 F번째 E요일").format(today));
try {
Date d = new SimpleDateFormat("yyyyMMdd").parse("20230202");
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(d));
} catch (Exception pe) {
pe.printStackTrace();
}
}
}
결과
2023-02-02
'23년 02월 02일 목요일
2023-02-02 23:03:30.770
2023-02-02 11:03:30 오후
오늘은 올 해의 33번째 날.
오늘은 이 달의 2번째 날
오늘은 올 해의 5번째 주
오늘은 이 달의 1번째 주
오늘은 이 달의 1번째 목요일
2023-02-02
반응형
'DEV > Java' 카테고리의 다른 글
[자바] MessageFormat (3) | 2023.02.02 |
---|---|
[자바] ChoiceFormat (1) | 2023.02.02 |
[자바] 형식화 클래스 (1) | 2023.02.02 |
[자바] Calendar (0) | 2023.02.02 |
[자바] 사용자 정의 예외 만들기 (2) | 2023.02.01 |
댓글