Located and added getDaysBetween().
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1445 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: CalendarUtil.java,v 1.1 2003/10/22 00:58:47 eric Exp $
|
// $Id: CalendarUtil.java,v 1.2 2004/06/09 09:40:04 mdb Exp $
|
||||||
|
|
||||||
package com.samskivert.util;
|
package com.samskivert.util;
|
||||||
|
|
||||||
@@ -20,4 +20,35 @@ public class CalendarUtil
|
|||||||
cal.clear(Calendar.SECOND);
|
cal.clear(Calendar.SECOND);
|
||||||
cal.clear(Calendar.MILLISECOND);
|
cal.clear(Calendar.MILLISECOND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the difference between the dates represented by the two
|
||||||
|
* calendars in days, properly accounting for daylight savings time,
|
||||||
|
* leap seconds, etc. The order of the two dates in time does not
|
||||||
|
* matter, the absolute number of days between them will be returned.
|
||||||
|
*
|
||||||
|
* @return the number of days between d1 and d2, 0 if they are the
|
||||||
|
* same day.
|
||||||
|
*
|
||||||
|
* @author http://www.jguru.com/forums/view.jsp?EID=489372
|
||||||
|
*/
|
||||||
|
public static int getDaysBetween (Calendar d1, Calendar d2)
|
||||||
|
{
|
||||||
|
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
|
||||||
|
Calendar swap = d1;
|
||||||
|
d1 = d2;
|
||||||
|
d2 = swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
|
||||||
|
int y2 = d2.get(Calendar.YEAR);
|
||||||
|
if (d1.get(Calendar.YEAR) != y2) {
|
||||||
|
d1 = (Calendar)d1.clone();
|
||||||
|
do {
|
||||||
|
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);
|
||||||
|
d1.add(Calendar.YEAR, 1);
|
||||||
|
} while (d1.get(Calendar.YEAR) != y2);
|
||||||
|
}
|
||||||
|
return days;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user