안드로이드에서 사용하는 java.text.DateFormat 클래스는 일자와 시간을 표기하는 포맷 양식뿐만 아니라 보통 문자열을 일자나 시간으로 또는 아래와 같이 일자나 시간을 문자열로 바꾸는 기능을 제공한다.
String myString = DateFormat.getDateInstance().format(myDate);
DateFormat 객체를 생성하는 방법으로 getDateInstance() 메서드 또는 Calendar.get(Calendar.DATE)메서드를 사용하거나 getInstance(Locale locale)메서드를 사용하여 해당 국가에서 사용하는 날짜 형식을 가져 올 수 있다. 그리고 시간의 경우는 getTimeInstance() 메서드를 사용하거나 또는 getDateTimeInstance() 메서드를 사용하여 생성한다.
DateFormat[] formats = new DateFormat[] {
DateFormat.getDateInstance(),
DateFormat.getDateTimeInstance(),
DateFormat.getTimeInstance()
};
for(DateFormat df : formats) {
Log.v("Date", df.format(new Date()));
}
그리고 java.text.DateFormat 클래스에서 제공하는 SHORT, MEDIUM, LONG, FULL 상수를 옵션으로 사용하여 DateFormat의 길이를 제어할 수 있다.
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
출력되는 결과는 지역(Locale)에 따라 다르지만, 일반적인 사용법은 아래와 같다.
DateFormat df2 = DateFormat.getDateInstance(DateFormat.SHORT, Locale.FRANCE);
java.text.DateFormat 클래스는 추상클래스이므로 보통 SimpleDateFormat와 같은 서브 클래스를 사용하여 날짜/시간 형식화(날짜를 문자로 변환), 구문 분석(문자를 날짜로 변환)등의 목적으로 주로 사용한다.
날짜 표현하는데는 DateFormat이 있다. 하지만 내가 원하는 패턴으로 보여주지 않는다. 이 클래스를 사용하면 "2009년 5월 29일 금요일" 또는 "2009. 5. 29", "09. 5. 29"와 같이 보여준다. 내가 원하는 표시형태는 "20090529"인데..
결과는 아래처럼..
패턴을 사용하는 방법 중 간단한 방법은 을 사용하는 방법이다. SimpleDateFormat은 DateFormat을 상속받아 사용하기 편하게 이쁘게 되어 있다. 이 클래스를 사용하면 우리가 자주 사용하는 "yyyyMMdd"와 같은 표현을 사용할 수 있다.
Letter | Date or Time Component | Presentation | Examples |
---|---|---|---|
G | Era designator | Text | AD |
y | Year | Year | 1996 ; 96 |
M | Month in year | 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 in week | Text | Tuesday ; Tue |
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 |
Date and Time Pattern | Result |
---|---|
"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 |
[Android] 인텐트 - 02 (0) | 2013.07.31 |
---|---|
[Android] 인텐트 (0) | 2013.07.31 |
[Android]자바 스타일 문자 (0) | 2013.04.21 |
[Android]XML 스타일 문자 (0) | 2013.04.21 |
[Android]상태 리스트 모형 (0) | 2013.04.20 |
댓글 영역