현재 시간을 24시간제로 표시하고자 한다면 android.text.format.DateFormat라는 클래스를 이요하면 된다.

이 클래스가 제공하는 메소드 중에서 다음 메소드가 이 기능을 제공한다.


public static CharSequence format (CharSequence inFormat, long  inTimeInMillis)


첫 번째 매개인자 inFormat에 사용되는 형식은 아래 표의 규칙대로 하면된다

(http://developer.android.com/reference/java/text/SimpleDateFormat.html 참조)


SymbolMeaningKindExample
Dday in year(Number)189
Eday of week(Text)E/EE/EEE:Tue, EEEE:Tuesday, EEEEE:T
Fday of week in month(Number)(2nd Wed in July)
Gera designator(Text)AD
Hhour in day (0-23)(Number)0
Khour in am/pm (0-11)(Number)0
Lstand-alone month(Text)L:1 LL:01 LLL:Jan LLLL:January LLLLL:J
Mmonth in year(Text)M:1 MM:01 MMM:Jan MMMM:January MMMMM:J
Sfractional seconds(Number)978
Wweek in month(Number)2
Ztime zone (RFC 822)(Time Zone)Z/ZZ/ZZZ:-0800 ZZZZ:GMT-08:00 ZZZZZ:-08:00
aam/pm marker(Text)PM
cstand-alone day of week(Text)c/cc/ccc:Tue, cccc:Tuesday, ccccc:T
dday in month(Number)10
hhour in am/pm (1-12)(Number)12
khour in day (1-24)(Number)24
mminute in hour(Number)30
ssecond in minute(Number)55
wweek in year(Number)27
yyear(Number)yy:10 y/yyy/yyyy:2010
ztime zone(Time Zone)z/zz/zzz:PST zzzz:Pacific Standard Time
'escape for text(Delimiter)'Date=':Date=
''single quote(Literal)'o''clock':o'clock

예를들면


MM : 11, 10과 같이 월 표시를 두 자리 숫자로 표현

MMM : Nov, Oct...와 같이 월 표시를 영문 약어로. 

          한글 폰에서는 그냥 '월'이라는 글자로 표시


MMMM : November, October...와 같이 월 표시를 영문 full name으로 표시


yyyy-MM-dd h:mm => 2013-11-25 3:25


yyyy-MM-dd h:mm a => 2013-11-25 3:25 pm


yyyy-MM-dd k:mm => 2013-11-25 15:25 (24시간제로 표시)



예제 소스는...


String crrTime = System.currentTimeMillis().toString();

String now = DateFormat.format("yyyy MMM dd k:mm", crrTime);

        

TextView txt = (TextView)findViewById(R.id.txt);

txt.setText(now);


여기서 DateFormat은 자바의 DateFormat(

java.text.DateFormat)이 아니라 안드로이드의 DateFormat이다. 

클래스 이름이 동일한 DateFormat은 자바에도 있고 안드로이드에도 있다.


android.text.format.DateFormat;




+ Recent posts