java计算两个时间点相差的年数。

    /*
     * 比较两个时间点相差多少年。
     */
    public static long compareTime(String time){
        String myString=null;
        if(time==null){
            myString="0000-00-00";
        }else{
            myString = time;
        }
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Calendar start = Calendar.getInstance();
         Calendar end = Calendar.getInstance(); 
        
        Date now1 = new Date();
        String now=sdf.format(now1);
        Date date = null;
        try {
        now1 = sdf.parse(now);
        date = sdf.parse(myString);
        start.setTime(date);
        end.setTime(now1);
        } catch (Exception e) {
        e.printStackTrace();
        }
        if(end.get(Calendar.YEAR)>start.get(Calendar.YEAR)){
            int year=end.get(Calendar.YEAR)-start.get(Calendar.YEAR);
            if(end.get(Calendar.MONTH)+1>=start.get(Calendar.MONTH)+1){
                if(end.get(Calendar.DATE)>=start.get(Calendar.DATE)){
                    return year;
                }else{
                    return year-1;
                }
            }else{
                return year-1;
            }
            
        }else{
            return 0;
        }
        
    }

猜你喜欢

转载自www.cnblogs.com/wangyanei2017/p/9274602.html