반응형
Date클래스를 이용하여 현재 날짜를 출력하면 영문으로 된 날짜를 리턴한다. 특정 문자열 포맷으로 얻고 싶으면 java.text.SimpleDateFormat 클래스를 이용하면 된다. 다음은 오늘 날짜를 yyyy 년 MM월 dd일로 출력하는 예제이다.
package testProject;
import java.text.SimpleDateFormat;
import java.util.Date;
public class simpleDateFormatEx {
public static void main(String[] args) {
Date nowDate = new Date();
System.out.println("포맷 지정 전 : " + nowDate);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일");
//원하는 데이터 포맷 지정
String strNowDate = simpleDateFormat.format(nowDate);
//지정한 포맷으로 변환
System.out.println("포맷 지정 후 : " + strNowDate);
}
}
Date 객체뿐만 아니라 String 문자열 또한 SimpleDateFormat 클래스를 이용하면 쉽게 원하는 패턴의 포맷으로 변경할 수 있다.
package testProject;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class simpleDateFormatEx {
public static void main(String[] args) {
// 날짜 형식 변환시 parsing 오류를 try catch로 체크
try {
String strDate = "20200806";
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat newDtFormat = new SimpleDateFormat("yyyy-MM-dd");
// String 타입을 Date 타입으로 변환
Date formatDate = dtFormat.parse(strDate);
// Date타입의 변수를 새롭게 지정한 포맷으로 변환
String strNewDtFormat = newDtFormat.format(formatDate);
System.out.println("포맷 전 : " + strDate);
System.out.println("포맷 후 : " + strNewDtFormat);
}catch (ParseException e) {
e.printStackTrace();
}
}
}
다음은 다양한 포맷을 적용해서 얻은 문자열 입니다.
package testProject;
import java.text.SimpleDateFormat;
import java.util.Date;
public class simpleDateFormatEx {
public static void main(String[] args) {
Date nowDate = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
System.out.println(simpleDateFormat.format(nowDate));
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(simpleDateFormat.format(nowDate));
simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd a HH:mm:ss");
System.out.println(simpleDateFormat.format(nowDate));
simpleDateFormat = new SimpleDateFormat("오늘은 E요일 입니다.");
System.out.println(simpleDateFormat.format(nowDate));
}
}
날짜를 원하는 형식으로 표현하기 위해 패턴을 사용하는데 다음 표는 SimpleDateFormat의 패턴 장성에 사용되는 기호들이다.
문자 | 날짜 및 시간 요소 | 표시 | 예제 |
G | Era designator | Text | AD |
y | Year | Year | 1996; 96 |
Y | Week year | Year | 2009; 09 |
M | Month in year (context sensitive) | Month | July; Jul; 07 |
L | Month in year (standalone form) | Month | July; Jul; 07 |
w | Week in year | Number | 27 |
W | Week in month | Number | 2 |
D | Day in year | Number | 189 |
d | Day in month | Number | 10 |
F | Day of week in month | Number | 2 |
E | Day name in week | Text | Tuesday; Tue |
u | Day number of week (1 = Monday, ..., 7 = Sunday) | Number | 1 |
a | Am/pm marker | Text | PM |
H | Hour in day (0-23) | Number | 0 |
k | Hour in day (1-24) | Number | 24 |
K | Hour in am/pm (0-11) | Number | 0 |
h | Hour in am/pm (1-12) | Number | 12 |
m | Minute in hour | Number | 30 |
s | Second in minute | Number | 55 |
S | Millisecond | Number | 978 |
z | Time zone | General time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone | RFC 822 time zone | -0800 |
X | Time zone | ISO 8601 time zone | -08; -0800; -08:00 |
예제 패턴
날짜 및 시간 패턴 | 결과 |
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" | 2001-07-04T12:08:56.235-07:00 |
"YYYY-'W'ww-u" | 2001-W27-3 |
참고 사이트
SimpleDateFormat (Java Platform SE 8 )
Parses text from a string to produce a Date. The method attempts to parse text starting at the index given by pos. If parsing succeeds, then the index of pos is updated to the index after the last character used (parsing does not necessarily use all charac
docs.oracle.com
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] 자바 POI 를 이용하여 엑셀 파일 만들기/ POI 라이브러리 사용법 (0) | 2020.10.02 |
---|---|
[JAVA] 자바 POI 라이브러리 다운로드 방법/ 엑셀 다운로드 방법 (1) | 2020.10.01 |
[JAVA] 람다식(Lambda Expressions)이란? 사용방법 & 장단점 (0) | 2020.08.04 |
[Java] 날짜 계산 방법(년, 월, 일 더하고 빼는 방법) (0) | 2020.08.03 |
[JAVA] 제네릭(Generic)이란? 제네릭 사용 방법과 예제 정리 (0) | 2020.08.01 |
댓글