我试图将2015年10月31日中午12:00转换为yyyyMMdd格式,但它正在给出以下异常。可能是原因和解决方案? 运行此代码时出现异常: java.text.ParseException:无法解析的日期:" 2015年10月31日12:00 AM"
try{
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
System.out.println("output : "+formatter.format(formatter.parse("Oct 31 2015 12:00AM")));
}
catch(Exception e){
System.out.println("e: "+e);
}
答案 0 :(得分:2)
您使用与yyyyMMdd
相同的格式化程序来解析日期Oct 31 2015 12:00AM
,其格式为MMMM dd yyyy hh:mma
。
您需要定义一个新的格式化程序来正确解析内部日期。
以下是快速代码段:
public static void main (String[] args)
{
try{
SimpleDateFormat xedFormat = new SimpleDateFormat("MMMM dd yyyy hh:mma");
SimpleDateFormat pedFormat = new SimpleDateFormat("yyyyMMdd");
System.out.println("output : "+pedFormat.format(xedFormat.parse("Oct 31 2015 12:00AM")));
}
catch(Exception e){
System.out.println("e: "+e);
}
输出:
output : 20151031