获取月份范围- Java



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

我知道如何得到接下来的12个月,但我卡在如何得到最后一个和接下来的12个月。我可以使用joda time库,但我认为这个库对我的小android应用程序太大了。

谁能帮助我提供一个小代码剪辑?谢谢!

你可以简单地使用Calendar类实例来做这件事,使用Calendar#add(int field,Int amount) like:

//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,仅用于获取月份的名称。

您可以使用calendar类来获取当前月份。然后你可以减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个月。

欢呼:)

最新更新