ParseException:无法解析的日期

时间:2014-01-29 08:26:48

标签: java datetime simpledateformat

为什么我会收到此异常?

查看我的代码

public class Test {

    public static void main(String[] args) throws ParseException {

        DateFormat originalFormat = new SimpleDateFormat("dd-M-y", Locale.ENGLISH);
        DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = originalFormat.parse("09-Dec-2013");
        String formattedDate = targetFormat.format(date); 

        System.out.println(formattedDate);


    }

}

我想要的是什么?

输入:2013年12月9日   预期输出:2013-12-092013-12-09 00:00:00 //(这两个中的任何一个)

感谢。

3 个答案:

答案 0 :(得分:0)

更改

DateFormat originalFormat = new SimpleDateFormat("dd-M-y", Locale.ENGLISH);

DateFormat originalFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);

Working code

如果您想使用此格式2013-12-09 00:00:00,请参阅this

答案 1 :(得分:0)

试试这个......

public class Test {

public static void main(String[] args) throws ParseException {

    DateFormat originalFormat = new SimpleDateFormat("dd-MMM-yyyy");
    DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = originalFormat.parse("09-Dec-2013");
        String formattedDate = targetFormat.format(date); 

        System.out.println(formattedDate);


    }

}

输出将是:2013-12-09

答案 2 :(得分:0)

更改为dd-MMM-yyyy格式

public static void main(String[] args) throws ParseException {

    DateFormat originalFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
    DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date = originalFormat.parse("09-Dec-2013");
    String formattedDate = targetFormat.format(date);

    System.out.println(formattedDate);
}