thanks all for the tips.
Using a cache probably wouldn't help, since we deal with Dates with a range of 30 years, which would make quite a large cache
Also we'd prefer to avoid using the deprecated methods, just in case one day Sun finally cleanup the ugly Date class.
Just taking the ms difference isn't enough because the input dates may span a DST switch period, ie one day may have 25 hours or one day may have 23 hours. Hence we have to do the contruction and zeroing of the time portion.
The only solution I can find is to change the dates being passed into the method to not have time information in the first place. That should keep me busy until 2028