我试图将 Oct 31 2015 12:00AM 隐蔽为 yyyyMMdd 格式,但它给出了以下异常。原因和解决方案是什么?运行此代码时出现异常:java.text.ParseException:无法解析的日期:"Oct 31 2015 12:00AM"
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);
}
您正在使用与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