美文网首页
年月偏移算法

年月偏移算法

作者: 黄殿玺 | 来源:发表于2023-07-06 20:49 被阅读0次
    private static String monthOffset(int year, int month, int offset){
        int mod = 15;
        int x = offset;
        offset = Math.abs(offset);
        if(x > 0){ //向后
            int i = (month + offset) / mod; //加年数
            int j = (month + offset) % mod; //余
            year = year + i;
            return year + "-" + j;
        } else {    //向前
    
            //没有超过最小值直接相减,没有到前一年
            if(month - offset >= 0){
                month = month - offset;
                return year + "-" + month;
            }
            if(offset < mod){
                //前一年
                year = year - 1;
                month = month + (mod - offset); //月份与偏移取反相加
                return year + "-" + month;
            } else {
                //前N年
                int i = offset / mod; //减年数
                int j = offset % mod; //取余
                if(month - j >= 0){
                    year = year - i;
                    month = month - j;
                    return year + "-" + month;
                } else {
                    year = year - i - 1;
                    month = month + (mod - j);
                    return year + "-" + month;
                }
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:年月偏移算法

          本文链接:https://www.haomeiwen.com/subject/gxhrudtx.html