为什么Java中的Calendar获取上个月?

Hamza Hamada:
    Calendar calendar = Calendar.getInstance();
    int year  = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);
    int day   = calendar.get(Calendar.DAY_OF_MONTH);

    System.out.println(day + "/" + month + "/" + year);
    

结果:25/5/2020

且必须为25/6/2020->(操作系统日期为25/6/2020)

双簧管

从Calendar javadoc:

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

如您所见,一月为0(而不是1)。

正如James_D建议的那样,您应该使用LocalDate和DateTimeFormatter:

LocalDate date = LocalDate.now();

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/M/yyyy", Locale.getDefault());

System.out.println(date.format(formatter));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章