我想在没有任何库的情况下从整数中减去月份。
问题是,当我从第一个月减少 1 个月时:0(一月)应该是 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);
}
附注dateposition 表示月份的位置,如果为 0 则表示今天的月份和年份,如果为 +1 则表示下个月,依此类推,如果为 -1 则表示上个月
最佳答案
好的,我写了它并测试了它的工作原理!
for (int i = -200; i < 0; i++){
if (dateposition == i){
int month = currentMonthInt + i;
int year = currentYearInt + (month / 12);
if (month >= 0){
month = (month % 12)+1;
} else {
int c1 = Math.abs(month / 12) + 1;
month += (12 * c1);
}
String monthString = String.format("%02d", month);
String yearString = String.valueOf(year);
showListView(monthString, yearString, db);
}
}
关于Java减去没有库的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26470980/