2012-01-02 2 views
2

나는 같은 시간을 가지고 "2011-12-03 12시 0분 19초"는 "2011 12월 2일 금"에 변환하는 방법,이 http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html 알고 있지만 나에게 오류 제공 :Android/java 시간 형식?

Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date 
    at java.text.DateFormat.format(Unknown Source) 
    at java.text.Format.format(Unknown Source) 
    at com.timestamp.NewTimeStamp.<init>(NewTimeStamp.java:21) 
    at com.timestamp.NewTimeStamp.main(NewTimeStamp.java:35) 

내 코드를 is :

String mytime ="2011-12-03 12:00:19"; 
String pattern = "EEE d MMMMM yyyy"; 
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); 

     Date date = new Date(mytime); 
     String time = dateFormat.format(date); 

     System.out.println("=== > " + time); 
+1

당신의'pattern'가 가지고 무엇인가? – Vaandu

+0

문자열 패턴 = "EEE d MMMMM yyyy"; –

+2

날짜 날짜 = 새 날짜 (mytime); 나는이 라인이 당신에게 오류를주고 있다고 생각합니다. 해당 줄 앞뒤에 System.out.println ("1") & ("2") 디버그 코드를 넣은 다음 실행하여 오류가 실제로 발생하는지 확인하십시오. – Android

답변

7

입력을 Date으로 변환 한 다음 형식을 지정하십시오.

 String mytime ="2011-12-03 12:00:19"; 
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss"); 
     Date myDate = dateFormat.parse(mytime); 
     System.out.println("=== > " + myDate); 
     SimpleDateFormat timeFormat = new SimpleDateFormat("EEE d MMMMM yyyy"); 
     String time = timeFormat.format(myDate); 
     System.out.println("=== > " + time); 

출력 :

D:\Work\Stand alone Java classes>javac Test2.java && java Test2 
=== > Wed Jan 12 12:00:19 IST 2011 
=== > Wed 12 January 2011 
+0

thnx 순전히 날짜에서 그것을 바꾸는 것을 잊었다. .. –

+0

그러나 wht abt 월은 돌아 오는 1 월 실제로 12 월이다? –

+0

SimpleDateFormat dateFormat = new SimpleDateFormat ("yyyy-dd-MM HH : mm : ss"); 맞아. –