使用simpleDateFormat解析异常

时间:2012-06-07 13:16:52

标签: java date

我正在尝试将日期从一种格式转换为其他格式,但以下代码给出了例外情况:请帮助

public class Formatter {
        public static void main(String args[]) {

            String date = "12-10-2012";
            try {
                Date formattedDate = parseDate(date, "MM/dd/yyyy");
                System.out.println(formattedDate);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

        public static Date parseDate(String date, String format)
                throws ParseException {
            SimpleDateFormat formatter = new SimpleDateFormat(format);
            return formatter.parse(date);
        }

    }

4 个答案:

答案 0 :(得分:10)

要从“MM-dd-yyyy”转换为“MM / dd / yyyy”,您必须执行以下操作:

SimpleDateFormat format1 = new SimpleDateFormat("MM-dd-yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("MM/dd/yyyy");
Date date = format1.parse("12-10-2012");
System.out.println(format2.format(date));

如果您输入"12-10-2012",则输出将为"12/10/2012"

答案 1 :(得分:6)

将斜线/更改为短划线-

MM-dd-yyyy 而不是 MM / dd / yyyy

应为Date formattedDate = parseDate(date, "MM-dd-yyyy");

答案 2 :(得分:5)

您的格式使用斜杠(/),但您提供的日期使用短划线( - )。改为:

Date formattedDate = parseDate(date, "MM-dd-yyyy");

你应该做得很好:)。

答案 3 :(得分:1)

试试这个。

Date formattedDate = parseDate(date, "MM-dd-yyyy");