compareTo never claimed that it returns the difference, only that it returns a positive number, 0, or negative number for greater, equal, or less than.
To compare dates, convert them to their millisecond representation (e.g. date.getTime()), then subtract one from the other. Now you have the difference in milliseconds. There are a fixed number of milliseconds in a day (1000 * 60 * 60 * 24), so
you should be able to calculate that.