我想從沒有任何庫的整數中減去幾個月。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