Try:
int min = 28983;
TimeSpan elapsedTime = new TimeSpan( 0, min, 0 );
int day = elapsedTime.Days;
int hour = elapsedTime.Hours;
Console.WriteLine(string.Format("{0} days {1} hours", day, hour));
double days = min/60/24;
double hours = (min - days*24*60)/60;
Console.WriteLine(string.Format("{0} days {1:0} hours", days, hours));
Both get the same result as:
20 days 3 hours
20 days 3 hours