jGuru Forums

method to find difference between dates
3 posts in topic
Flat View
TOPIC ACTIONS:

Posted By:   Pallavi_b
Posted On:   Tuesday, September 4, 2001 12:38 AM

I just wanna know if there is any method to find date difference or u have to write a code for the same.If there is any such method or code for the same please lemme know
Pallavi

Here's a method to find the number of days between two dates.

Posted By:   Doug_Bell
Posted On:   Saturday, October 6, 2001 01:50 PM

I wrote a method a while back to calculate the number of days between two dates that is independent of the calendar type:

`/** * Calculates the number of days between two calendar days in a manner * which is independent of the `Calendar` type used. * * @param d1    The first date. * @param d2    The second date. * * @return      The number of days between the two dates.  Zero is *              returned if the dates are the same, one if the dates are *              adjacent, etc.  The order of the dates *              does not matter, the value returned is always >= 0. *              If `Calendar` types of `d1` and `d2` *              are different, the result may not be accurate. */static int getDaysBetween (java.util.Calendar d1, java.util.Calendar d2) {    if (d1.after(d2)) {  // swap dates so that d1 is start and d2 is end        java.util.Calendar swap = d1;        d1 = d2;        d2 = swap;    }    int days = d2.get(java.util.Calendar.DAY_OF_YEAR) -               d1.get(java.util.Calendar.DAY_OF_YEAR);    int y2 = d2.get(java.util.Calendar.YEAR);    if (d1.get(java.util.Calendar.YEAR) != y2) {        d1 = (java.util.Calendar) d1.clone();        do {            days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);            d1.add(java.util.Calendar.YEAR, 1);        } while (d1.get(java.util.Calendar.YEAR) != y2);    }    return days;} // getDaysBetween()`

Re: method to find difference between dates

Posted By:   Ravi_Verelly
Posted On:   Tuesday, September 4, 2001 12:54 PM

The following is one solution, as there are numerous ways we can achieve this:

import java.util.*;

int syear = 2000;

int eyear = 2000;

int smonth = 2;//Feb

int emonth = 3;//Mar

int sday = 27;

int eday = 1;

Date startDate = new Date(syear-1900,smonth-1,sday);

Date endDate = new Date(eyear-1900,emonth-1,eday);

int difInDays = (int) ((endDate.getTime() - startDate.getTime())/(1000*60*60*24));

Re: method to find difference between dates

Posted By:   AlessandroA_Garbagnati
Posted On:   Tuesday, September 4, 2001 07:52 AM

Hi,

There is no such method, but you can easily write the code using, for example, the class java.util.Calendar.