Java Date 类型时间运算,对年做减法运算计算工龄得分

Posted java李杨勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Date 类型时间运算,对年做减法运算计算工龄得分相关的知识,希望对你有一定的参考价值。

/**
     * 工龄折算分数
     * 1.1.1小学:记60分结合折算0.54分
     * 1.1.2初中:记70分结合折算0.63分
     * 1.1.3中专(高中):记80分结合折算0.72分
     * 1.1.4大专:记90分结合折算0.81分
     * 1.1.5本科(及以上):记100分结合折算0.9分
     * @param workYears
     * @return
     */
    public static double getWorkYearsScore(Date workYears) 
        SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD");
        ParsePosition pos = new ParsePosition(0);
        Date startWorkYear = formatter.parse(formatter.format(workYears), pos);
        ParsePosition pos2 = new ParsePosition(0);
        Date nowDate = formatter.parse(formatter.format(new Date()), pos2);
        //将Date类型转化为LocalDate
        ZoneId zoneId = ZoneId.systemDefault();
        Instant instant = startWorkYear.toInstant();
        LocalDate localstartWorkYear = instant.atZone(zoneId).toLocalDate();
        Instant instant2 = nowDate.toInstant();
        LocalDate localnowDate = instant2.atZone(zoneId).toLocalDate();
        Period period = Period.between(localstartWorkYear, localnowDate);
        int years = period.getYears();
        double score;
        if (years >= 0 && years <= 3) 
            score = 0.3;
         else if (years >= 4 && years <= 6) 
            score = 0.35;
         else if (years >= 7 && years <= 10) 
            score = 0.4;
         else if (years >= 11 && years <= 20) 
            score = 0.45;
         else 
            score = 0.5;
        
        return score;
    

以上是关于Java Date 类型时间运算,对年做减法运算计算工龄得分的主要内容,如果未能解决你的问题,请参考以下文章

shell 处理小数位加减法(比较)运算

php中日期的加减法运算

java中,当要处理的整数太大,超出了long的范围,应该用啥基本类型去处理,实现对这个数的加减法运算

消失的重量(隐式变换)

DB2时间的运算

Js日期加减(天数),时间加减,日期运算,可直接调用