Java将字符串(日/月/年)格式转换为日期

时间:2013-01-19 12:40:54

标签: java string date

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

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();
        }

但在我看来,它有一个ExceptionParseExpception。这是为什么?我想生成12/31/2012

的日期

3 个答案:

答案 0 :(得分:7)

日期字符串 - 12/31/2012

与 - MM/dd/yyyy

匹配
  • d - 月中的某一天
  • M - 一年中的月份
  • y - 年

...

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");

答案 1 :(得分:2)

月份的格式为MM而不是mm,而您的格式应该与-而不是/分隔,因为您的格式化分隔符为/,并且您的格式应该匹配你的日期atring。

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


String date = "12-31-2012";
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");

答案 2 :(得分:1)

If You could use Joda time

String dateStr = "11/15/2013";
Date date = DateTimeFormat.forPattern("dd/MM/yyyy").parseDateTime(dateStr).toDate();