如何使用日期格式将“2012年6月24日”更改为“24-06-2012”

时间:2013-06-24 05:47:29

标签: java simpledateformat java.util.date

我正在尝试将“12-Jun-2013”​​日期转换为“12-06-2013”​​,但它给了我例外。

String req="12-Jun-2013"

SimpleDateFormat sdfSource = new SimpleDateFormat("dd/MMM/yyyy",Locale.UK);
             try {
                Date date = (Date) sdfSource.parse(req);
                 SimpleDateFormat sdfDestination = new SimpleDateFormat("dd-MM-yyyy",Locale.UK);
                 req = sdfDestination.format(date);
                 System.out.println("final object"+req);

            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

我正在异常

java.text.ParseException: Unparseable date: "12-Jun-2013"

3 个答案:

答案 0 :(得分:11)

您的来源SimpleDateFormat应为

SimpleDateFormat sdfSource = new SimpleDateFormat("dd-MMM-yy",
                Locale.UK);

,您的目的地SimpleDateFormat应为

SimpleDateFormat sdfDestination = new SimpleDateFormat(
                    "dd-MM-yyyy", Locale.UK);

答案 1 :(得分:0)

你可以试试这个:

Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormat.format(date).toString());

答案 2 :(得分:0)

请尝试以下代码:

    String req = "12-Jun-2013"; 
    try {
        Date date = new SimpleDateFormat("d-MMMM-yyyy", Locale.UK).parse(req);
        SimpleDateFormat sdfDestination = new SimpleDateFormat("dd-MM-yyyy", Locale.UK);
        req = sdfDestination.format(date);
        System.out.println("final object" + req);

    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

希望它能解决你的问题