2017-05-03 4 views
0

選択した日付をCaldroidカレンダーからdd/MM/yyyy形式で取得しようとしていますが、日付を解析するときに次のエラーが発生します。以下はCaldroidカレンダーの解析不能日付例外

java.text.ParseException: Unparseable date: "Thu May 04 00:00:00 GMT 2017" (at offset 0) 

私のコードです: -

final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
final CaldroidListener caldroidListener = new CaldroidListener() { 
      @Override 
      public void onSelectDate(Date date, View view) { 
       try { 
        String dateParse = date.toString(); 
        Log.d("Date before parse: ",date.toString()); 
        sdf.parse(dateParse); 
        Log.d("Date after parse: ",dateParse); 
        eventDate.setText(dateParse); 
       }catch(ParseException e){ 
        e.printStackTrace(); 
       } 
      } 
     }; 
+0

「Thu May 04 00:00:00 GMT 2017」の形式が「dd/MM/yyyy」の形式と一致しないと思われます.... – EpicPandaForce

+0

しかし、元の日付形式をdd/MM/yyyy形式。 –

+0

あなたは 'parse'と' format'を混在させているようです。あなたはあなたの 'SimpleDateFormat'で入力日付を書式化し、結果の文字列を' .setText'で設定しますか? –

答えて

1

これはあなたのコードは、(ログなし)何をしたいかを行います。

final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
final CaldroidListener caldroidListener = new CaldroidListener() { 
      @Override 
      public void onSelectDate(Date date, View view) { 
       eventDate.setText(sdf.format(date)); 

      } 
     }; 

あなたが取得するSimpleDateFormat#formatを使用あなたのDateからフォーマットされた文字列。

+0

答えがうまくいけば、@Robin Topperに感謝します。私はフォーマット方法について忘れています。コメントや助言のために他の人に感謝します。 –