我想实现一个选项卡布局与月份的范围。此范围应包含过去和未来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个月。
欢呼:)