java.text.ParseException:Unparseable date

问题描述:

在我的项目中,我试图解析日期格式,像这样“Mon Oct 20 00:00:00 GMT + 06:30 2014”to dd-MM-yyyy但是我得到了跟随错误。我希望有人能解决我这个问题。java.text.ParseException:Unparseable date

感谢,

10-20 13:03:01.390: W/System.err(23409): java.text.ParseException: Unparseable date: "Mon Oct 20 00:00:00 GMT+06:30 2014" (at offset 0) 

parseDate.java

SimpleDateFormat formatter_date = new SimpleDateFormat("dd-MM-yyyy"); 
String sdate="Mon Oct 20 00:00:00 GMT+06:30 2014"; 
    try { 
     Date _date= formatter_date.parse(sdate); 
     holder.txtDate.setText(String.valueOf(_date)); 

    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

我们可以看到'formatter_date'的声明吗? – cosmincalistru 2014-10-20 07:27:01

+0

@cosmincalistru我刚添加了formatter_date,谢谢! – SAWAUNG 2014-10-20 07:28:44

+0

请参阅我的更新回答 – cosmincalistru 2014-10-20 07:42:09

使用此代码

public static String parseTodaysDate(String time) { 



    String inputPattern = "EEE MMM d HH:mm:ss zzz yyyy"; 

    String outputPattern = "dd-MM-yyyy"; 

    SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern); 
    SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern); 

    Date date = null; 
    String str = null; 

    try { 
     date = inputFormat.parse(time); 
     str = outputFormat.format(date); 

     Log.i("mini", "Converted Date Today:" + str); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    return str; 
} 
+0

错误是由于您正在使用的解析日期的格式。 – Meenal 2014-10-20 07:29:46

+0

是的,我必须格式化它。谢谢。 – SAWAUNG 2014-10-20 07:43:02

+0

@ MeenalSharma,我想你错过了一个'd'inputPattern。 – 2014-10-20 08:37:36

更换

​​

SimpleDateFormat formatter_date = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH); 
+0

为什么这个工作,但不是“dd-MM-yyy” – user2054833 2015-06-30 21:45:42

+0

因为这是字符串的制作方式。输入值必须以这种方式进行格式化。但输入不是“20-10-2014”... – cosmincalistru 2015-07-06 07:11:22

+0

很好的答案,简直是真的! – cubycode 2016-06-14 13:42:33