When you subtract two DateTime objects, you always get a TimeSpan object - this has the properties you need directly:
DateTime now = DateTime.Now;
DateTime then = now.AddDays(-1).AddHours(-1);
TimeSpan diff = now - then;
Console.WriteLine("{0}:{1}:{2}", (int)diff.TotalHours, diff.Minutes, diff.Seconds);
DateTime random = new DateTime(2013, 2, 24, 7, 56, 23);
diff = now - random;
Console.WriteLine("{0}:{1}:{2}", (int)diff.TotalHours, diff.Minutes, diff.Seconds);
You need to cast the TotalHours to an int, as it returns the difference in time as a double, with the minutes and seconds as the fractional part.