0

我正在尝试将字符串转换为日期

String date = "12/31/2012";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
        try {
            Date parse = sdf.parse(date);
            System.out.println(parse);
        } catch (ParseException ex) {     
            ex.printStackTrace();
        }

但在我看来,它有一个Exception. 的ParseExpception。这是为什么?我想为12/31/2012

4

3 回答 3

7

日期字符串 -12/31/2012

它与 -MM/dd/yyyy

  • d - 一个月中的哪一天
  • M - 一年中的月份
  • y - 年

...

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
于 2013-01-19T12:41:46.137 回答
2

月份的格式MM不是mm,您应该使用-而不是/您的格式化程序分隔符,/并且您的格式应该与您的日期字符串相匹配。

date 12-31-2012
fmt  MM-dd-yyyy


String date = "12-31-2012";
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
于 2013-01-19T12:41:56.527 回答
1

如果你可以使用 Joda 时间

String dateStr = "11/15/2013";
Date date = DateTimeFormat.forPattern("dd/MM/yyyy").parseDateTime(dateStr).toDate();
于 2015-12-05T16:44:32.390 回答