Java日期格式转换 - 月份出错

ami*_*hgc 8 java date

我在java中转换日期有问题,不知道我哪里错了...

    String dateStr = "2011-12-15";
    String fromFormat = "yyyy-mm-dd";
    String toFormat = "dd MMMM yyyy";

    try {
        DateFormat fromFormatter = new SimpleDateFormat(fromFormat);
        Date date = (Date) fromFormatter.parse(dateStr);

        DateFormat toformatter = new SimpleDateFormat(toFormat);
        String result = toformatter.format(date);

    } catch (ParseException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

输入日期是2011-12-15,我期待结果为"2011年12月15日",但我认为它是"2011年1月15日"

我哪里错了?

sje*_*397 29

您在fromFormat几分钟内使用分钟.

String fromFormat = "yyyy-MM-dd";
Run Code Online (Sandbox Code Playgroud)


Dan*_*ker 5

我认为fromFormat应该是"yyyy-MM-dd".

这是格式:

  • m ==小时分钟
  • M ==年份月份

更多:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html