如何在 Java 中获取上月/年?

新手上路,请多包涵

我如何在 Java 中找出上个月和它的年份?

例如,如果今天是 2012 年 10 月 10 日,则结果应为 Month = 9Year = 2012 。如果今天是 2013 年 1 月 10 日,结果应该是 Month = 12Year = 2012

原文由 ashishjmeshram 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 630
2 个回答

您的解决方案在 这里, 但您需要使用减法而不是加法

c.add(Calendar.MONTH, -1);

然后你可以在 Calendar 上调用 getter 来获取适当的字段

int month = c.get(Calendar.MONTH) + 1; // beware of month indexing from zero
int year  = c.get(Calendar.YEAR);

原文由 Gaim 发布,翻译遵循 CC BY-SA 3.0 许可协议

java.time

使用 java.time Java 8 内置的框架:

 import java.time.LocalDate;

LocalDate now = LocalDate.now(); // 2015-11-24
LocalDate earlier = now.minusMonths(1); // 2015-10-24

earlier.getMonth(); // java.time.Month = OCTOBER
earlier.getMonth.getValue(); // 10
earlier.getYear(); // 2015

原文由 Przemek 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题