获取月份范围 - Java

Getting range of months - Java

我想实现一个包含月份范围的选项卡布局。此范围应包含过去和接下来的 12 个月。

我知道如何获得接下来的 12 个月,但我坚持如何获得最后和接下来的 12 个月。我可以使用 joda 时间库,但我认为这个库对于我的小型 android 应用程序来说太大了。

任何人都可以通过提供一小段代码来帮助我吗?谢谢!

您可以使用日历 class 获取当前月份。然后你可以减去 1 得到上个月的值或加 1 得到下个月。

这是一个示例片段。

    Calendar calendar = Calendar.getInstance();
    int month = calendar.get(Calendar.MONTH);
    calendar.set(Calendar.MONTH, month - 1);
    int lastMonth = calendar.get(Calendar.MONTH);

你可以写一个循环来计算过去和接下来的 12 个月。

干杯:)

您可以简单地使用日历 class 实例来完成它,使用 Calendar#add(int 字段, 整数) 喜欢:

//getting month names
DateFormatSymbols dfs = new DateFormatSymbols();
String[] months = dfs.getMonths();

//here is what you need
Calendar c = Calendar.getInstance();
System.out.println(c.getTime().toString());
c.add(Calendar.MONTH, -12);
for (int i = -12; i <=12; i++){
    c.add(Calendar.MONTH, +1);
    System.out.println(months[c.get(Calendar.MONTH)]);
}
这里使用

DateFormatSymbols,仅获取月份名称。