异常:java.text.ParseException:不可解析日期:";2012年2月15日“;
我得到了异常:java.text.ParseException:无法解析的日期:“2012年2月15日” 有人帮我解决这个问题吗异常:java.text.ParseException:不可解析日期:";2012年2月15日“;,java,date-format,Java,Date Format,我得到了异常:java.text.ParseException:无法解析的日期:“2012年2月15日” 有人帮我解决这个问题吗 try { String str_date=date; DateFormat formatter ; Date date1 ; formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS"); date1 = (Date)formatter.parse(str_date);
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);
}
到
这就是你的密码。您在代码中定义了错误的“模式”。如果你告诉解析器“嘿,我给你的日期是yyyy-MM-dd HH:MM:SSSS”,解析器应该如何解析日期2012年5月22日”格式错误,甚至这里的答案都是错误的 您的日期以
MM/dd/yyyy
模式开始,因此将格式更改为:
formatter = new SimpleDateFormat("MM/dd/yyyy");
之所以不能是
dd/MM/yyyy
,是因为你不能有15个月的时间(一年只有12个月)。你用这种格式传递日期02/15/2012
所以你需要这样做
formatter = new SimpleDateFormat("MM/dd/yyyy");
如果您以这种格式传递日期02-15-2012
那么你必须这么做
formatter = new SimpleDateFormat("MM/dd/yyyy");
上面不会给你任何错误。我更喜欢这样做:
formatter = new SimpleDateFormat("MM-dd-yyyy");
谢谢,我已经更新了答案;-)我是欧洲人,所以我选择了错误的模式:D
formatter = new SimpleDateFormat("MM/dd/yyyy");
formatter = new SimpleDateFormat("MM-dd-yyyy");
String dateString = "22/11/1982";
DateFormat dF = DateFormat.getDateInstance(DateFormat.SHORT);
Date date = dF.parse(dateString);