2012-01-02 10 views
2

私は「金2011年12月2日」でそれを変換する方法「2011-12-03 12時00分19秒」のように時間を持って、私はこの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) 

私のコード::

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

しかし、それは帰り1月実際には12月ですか? –

+0

SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-dd-MM HH:mm:ss");は正しい –