Android/Java - Date Difference in days

前端 未结 18 1209
感动是毒
感动是毒 2020-11-22 14:17

I am getting the current date (in format 12/31/1999 i.e. mm/dd/yyyy) as using the below code:

Textview txtViewData;
txtViewDate.setText(\"Today is \" +
              


        
18条回答
  •  旧巷少年郎
    2020-11-22 14:42

    use these functions

        public static int getDateDifference(int previousYear, int previousMonthOfYear, int previousDayOfMonth, int nextYear, int nextMonthOfYear, int nextDayOfMonth, int differenceToCount){
        // int differenceToCount = can be any of the following
        //  Calendar.MILLISECOND;
        //  Calendar.SECOND;
        //  Calendar.MINUTE;
        //  Calendar.HOUR;
        //  Calendar.DAY_OF_MONTH;
        //  Calendar.MONTH;
        //  Calendar.YEAR;
        //  Calendar.----
    
        Calendar previousDate = Calendar.getInstance();
        previousDate.set(Calendar.DAY_OF_MONTH, previousDayOfMonth);
        // month is zero indexed so month should be minus 1
        previousDate.set(Calendar.MONTH, previousMonthOfYear);
        previousDate.set(Calendar.YEAR, previousYear);
    
        Calendar nextDate = Calendar.getInstance();
        nextDate.set(Calendar.DAY_OF_MONTH, previousDayOfMonth);
        // month is zero indexed so month should be minus 1
        nextDate.set(Calendar.MONTH, previousMonthOfYear);
        nextDate.set(Calendar.YEAR, previousYear);
    
        return getDateDifference(previousDate,nextDate,differenceToCount);
    }
    public static int getDateDifference(Calendar previousDate,Calendar nextDate,int differenceToCount){
        // int differenceToCount = can be any of the following
        //  Calendar.MILLISECOND;
        //  Calendar.SECOND;
        //  Calendar.MINUTE;
        //  Calendar.HOUR;
        //  Calendar.DAY_OF_MONTH;
        //  Calendar.MONTH;
        //  Calendar.YEAR;
        //  Calendar.----
    
        //raise an exception if previous is greater than nextdate.
        if(previousDate.compareTo(nextDate)>0){
            throw new RuntimeException("Previous Date is later than Nextdate");
        }
    
        int difference=0;
        while(previousDate.compareTo(nextDate)<=0){
            difference++;
            previousDate.add(differenceToCount,1);
        }
        return difference;
    }
    

提交回复
热议问题