例外:java.text.ParseException:无法解析的日期:“02/15/2012”

时间:2012-02-15 08:07:39

标签: java date-format

try {
    String str_date=date;
    DateFormat formatter ; 
    Date date1 ; 
    formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS");
    date1 = (Date)formatter.parse(str_date);  
    System.out.println("Today is " +date1 );
}
catch (ParseException e)
{
    System.out.println("Exception :"+e); 
}  

我得到了异常:java.text.ParseException:无法解析的日期:“02/15/2012”

任何人帮我解决问题

5 个答案:

答案 0 :(得分:4)

您要以此格式02/15/2012传递日期 所以你需要这样做

formatter = new SimpleDateFormat("MM/dd/yyyy");

如果您以此格式传递日期02-15-2012 那么你必须这样做

formatter = new SimpleDateFormat("MM-dd-yyyy"); 
上面的

不会给你任何错误。

答案 1 :(得分:3)

翻拍

formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS"); 

formatter = new SimpleDateFormat("MM/dd/yyyy"); 

答案 2 :(得分:3)

formatter = new SimpleDateFormat("MM/dd/yyyy");

这是你的代码。您在代码中定义了错误的“模式”。如果你告诉他“如果我给你的日期有yyyy-MM-dd HH:mm:SSSS的模式”,解析器应如何解析日期22/05/2012?

答案 3 :(得分:3)

我更喜欢这样做:

String dateString = "22/11/1982";
DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT);
Date date = dF.parse(dateString);

答案 4 :(得分:1)

格式化错误,即使这里的答案都是错误的。

您的日期以MM/dd/yyyy模式开头,因此请将格式更改为:

formatter = new SimpleDateFormat("MM/dd/yyyy");

不能dd/MM/yyyy的原因是因为你不能有15个月(一年只有12个月)。