Well, I did something similar a long time ago for a widget so just check out the code below and let me know if there's anything unclear. It might not be 100% "proper" since it was at the time when I was starting to code for Android but it should give you an idea...
private static final long MILLIS_IN_DAY = 24 * 60 * 60 * 1000;
private static final long MILLIS_IN_HOUR = 60 * 60 * 1000;
// ...
Time awaitedTime = new Time();
awaitedTime.set(second, minute, hour, day, month, year);
Time defaultTime = new Time();
defaultTime.set(0, 0, 0, 1, 7, 1989);
if (awaitedTime.toMillis(false) == defaultTime.toMillis(false)) {
return "No date";
}
else {
int tempRest = 0;
Time currentTime = new Time();
currentTime.setToNow();
long remainingTime = awaitedTime.toMillis(false) - currentTime.toMillis(false);
int remainingDays = (int) (remainingTime / MILLIS_IN_DAY);
tempRest = (int) (remainingTime % MILLIS_IN_DAY);
int remainingHours = (int) (tempRest / MILLIS_IN_HOUR);
// return YOUR STRING HERE
}