2017-05-03 52 views
0

我試圖讓選定的日期dd中從Caldroid日曆/ 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

我認爲這是因爲'四月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 for answer it works fine,我只是忘記了格式化方法。並感謝其他人的評論和建議。 –