如何将日期2015年10月31日12:00 AM转换为20151031格式

时间:2016-02-10 09:07:17

标签: java date

我试图将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);
    }

1 个答案:

答案 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