How do I calculate days between 2 given dates?

This example shows you how to calculate days between 2 given dates.
package net.javaiq.examples.date;

import java.util.Calendar;
import java.util.GregorianCalendar;


/**
 * This class demonstrates on how to calculate days between 2 given dates 
 * @author JavaIQ.net
 * Creation Date Dec 3, 2010
 */
public class DaysBetweenCalculator {

    /**
     * Calculates the total number of days between the two given dates
     */
    public static int getDaysBetween(java.util.Date date1, java.util.Date date2) {

        if (date1 == null || date2 == null) {
            return -1;
        }

        GregorianCalendar gc1 = new GregorianCalendar();
        gc1.setTime(date1);

        GregorianCalendar gc2 = new GregorianCalendar();
        gc2.setTime(date2);


        if (gc1.get(Calendar.YEAR) == gc2.get(Calendar.YEAR)) {
            return Math.abs(gc1.get(Calendar.DAY_OF_YEAR) - gc2.get(Calendar.DAY_OF_YEAR));
        }

        long time1 = date1.getTime();
        long time2 = date2.getTime();
        long days = (time1 - time2) / (1000 * 60 * 60 * 24);

        return Math.abs((int)days);
    }
}