1. 计算两个日期相差几天

 

/** 
    * 计算两个日期之间相差的天数
    */  
    public static int daysBetween(String effectiveDate) {
        try {
            String current = getSystemTime();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            Calendar cal = Calendar.getInstance();
            cal.setTime(sdf.parse(current));
            
            long time1 = cal.getTimeInMillis();
            cal.setTime(sdf.parse(effectiveDate));
            
            long time2 = cal.getTimeInMillis();
            long between_days = (time2 - time1) / (1000 * 3600 * 24);
            return Integer.parseInt(String.valueOf(between_days));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return 0;
    }
    

2. 两个日期前后比较 (eg: 有效期是否已经过了 -1:未过, 1:已经过了)

// 日期比较
    public int compareTime(String bijiaoTime) {
        String current = getSystemTime();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date dt1 = df.parse(bijiaoTime);
            Date dt2 = df.parse(current);
            if (dt1.getTime() >= dt2.getTime()) {
                System.out.println("当前时间小于比较的时间");
                return -1;
            } else if (dt1.getTime() < dt2.getTime()) {
                System.out.println("当前时间大于比较的时间");
                return 1;
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 0;
    }
    
    public static String getSystemTime() {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
        String created = df.format(new Date());
        return created;
    }