Я боролся с этим раньше и всегда заканчивал тем, что "обманывал", используя String.Format:
// extend with minutes, seconds etc. if needed
var text = String.Format ("{0} day(s), {1} hour(s)", totalTimeInRoom.Days, totalTimeInRoom.Hours);
Конечно, вы могли бы сделать это намного более продвинутым и показывать только "дни", если есть на самом деле1 или более дней во временном интервале, а также вместо того, чтобы безоговорочно использовать «дни», вы можете динамически добавлять 's', если количество дней больше 1.