小编典典

获取正确的月格式日期java

java

有什么帮助,如何从这样的字符串中获取正确的日期,例如“ 2014-01-10T09:41:16.000 + 0000”,我的代码是:

    String strDate = "2014-01-10T09:41:16.000+0000";
    String day = "";
    String format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
    Locale locale = new Locale("es", "ES");
    SimpleDateFormat formater = new SimpleDateFormat(format, locale);
    formater.setTimeZone(TimeZone.getTimeZone("Europe/Madrid"));

    Calendar cal = Calendar.getInstance();

    try {
        cal.setTimeInMillis(formater.parse(strDate).getTime());
        String offerDate = cal.get(Calendar.DAY_OF_MONTH) + "-" + cal.get(Calendar.MONTH) + "-" + cal.get(Calendar.YEAR);
        System.out.println(offerDate);
    } catch (Exception e){
        System.out.println(e.getMessage());
    }

结果中,我给出了这样的结果:“ 10-0-2014”,我想要这样的结果:“ 10-01-2014”

提前致谢 :)


阅读 281

收藏
2020-11-30

共1个答案

小编典典

该文档指出:

java.util.Calendar.MONTH

MONTH public static final int MONTH
get和set的字段号,指示月份。这是日历特定的值。阳历和朱利安历中的第一月是一月,即0。最后一个取决于一年中的月份数。

-> Calendar.MONTH从0开始计数

2020-11-30