Java减去没有库的月份

标签 java date math calendar

我想在没有任何库的情况下从整数中减去月份。

问题是,当我从第一个月减少 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/

相关文章:

java - 如何最小化UDP丢包

Java Google Drive API 没有客户端 secret 或新项目

php - Ubuntu 13.10 Symfony 安装日期时间问题

c++ - 如何用数组初始化 glm::mat4?

python - 如何找到给定斐波那契数的索引

java - 每 24 小时一次的 Spring Scheduler

java - JSON 响应被切断,Android

php - 在 PHP 中创建日期

swift - 如何使用日期或日历更改UITextView中的值?

algorithm - n/3 位 6T(n/3) karatsuba 中的 6 个数相乘