安卓时间工具类


1.输入一个日期,判断是不是今天
private static boolean decideToday(String dt) {
        boolean isToday = false;
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-M-dd");
        dateFormater.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        String dt2 = dateFormater.format(date);
        if (dt.equals(dt2)) {
            isToday = true;
        }
        return isToday;
    }
2.计算两个日期之间间隔几天
private static int intervalToday(String dt) {
        int interval = 0;
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
        //dateFormater.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
        try {
            Date date2 = dateFormater.parse(dt);
            interval = differentDays(date2, date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return interval;
    }
/**
     * date2比date1多的天数
     *
     * @param date1
     * @param date2
     * @return
     */
    public static int differentDays(Date date1, Date date2) {
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date1);

        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(date2);
        int day1 = cal1.get(Calendar.DAY_OF_YEAR);
        int day2 = cal2.get(Calendar.DAY_OF_YEAR);

        int year1 = cal1.get(Calendar.YEAR);
        int year2 = cal2.get(Calendar.YEAR);
        if (year1 != year2)   //同一年
        {
            int timeDistance = 0;
            for (int i = year1; i < year2; i++) {
                if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)    //闰年
                {
                    timeDistance += 366;
                } else    //不是闰年
                {
                    timeDistance += 365;
                }
            }

            return timeDistance + (day2 - day1);
        } else    //不同年
        {
            System.out.println("判断day2 - day1 : " + (day2 - day1));
            return day2 - day1;
        }
    }