我想从没有任何库的整数中减去几个月。Java减去没有库的月份
的问题是,当我减1个月,从第一个月:0(1月)应该是12(月),但是这将是-1 ..
这是我的代码添加
int currentMonthInt = Integer.parseInt(currentMonth) - 1;
int currentYearInt = Integer.parseInt(currentYear);
// show today month
if (dateposition == 0){
showListView(currentMonth, currentYear, db);
}
// show next month
for (int i = 1; i <=200; i++){
if (dateposition == i){
int month = currentMonthInt + i;
int year = currentYearInt + (month/12);
month = (month % 12)+1;
String monthString = String.format("%02d", month);
String yearString = String.valueOf(year);
showListView(monthString, yearString, db);
}
}
,这是我减去代码:(但忽略了最低工作)
for (int i = -200; i < 0; i++){
//This is not correct!
//int month = currentMonthInt + i;
//int year = currentYearInt + (month/12);
//month = (month % 12)+1;
String monthString = String.format("%02d", month);
String yearString = String.valueOf(year);
showListView(monthString, yearString, db);
}
PS dateposition是其+1其下个月一个月如果0的今天个月,一年,如果位置等,如果它-1的分组月
尝试使用[乔达](http://www.joda.org/joda-time/)库 – 2014-10-20 17:04:34
码减去'月=(每月12%)+1;'你确定其正确的? ,如果你有月0,即使在这种情况下,以上公式只会返回你一个。 – 2014-10-20 17:05:41
当'a'为负数时'a%b'可能会给出负数。 – Henry 2014-10-20 17:06:02