Displaying TimeSpan as largest interval (with units) - Part II
Your code is looking good, but I find the control flow in this version a bit easier to follow:

// Defined per business rules.
private static readonly TimeSpan MinimumIntervalDeemedOneDay = TimeSpan.FromHours(22);
private static readonly TimeSpan MinimumIntervalDeemedOneHour = TimeSpan.FromMinutes(50);
private static readonly TimeSpan MinimumIntervalDeemedOneMinute = TimeSpan.FromSeconds(40);
private static readonly TimeSpan MinimumIntervalDeemedOneSecond = TimeSpan.FromMilliseconds(500);

public static string LargestIntervalWithUnits(TimeSpan interval)
{
    if (interval &lt; TimeSpan.Zero)
    {
        throw new ArgumentOutOfRangeException("interval",
                                              "Negative Timespans are not supported.");
    }

    if (interval &gt; MinimumIntervalDeemedOneDay)
    {
        return FormatTime(interval.TotalDays, "day");
    }

    if (interval &gt; MinimumIntervalDeemedOneHour)
    {
        return FormatTime(interval.TotalHours, "hour");
    }

    if (interval &gt; MinimumIntervalDeemedOneMinute)
    {
        return FormatTime(interval.TotalMinutes, "minute");
    }

    if (interval &gt; MinimumIntervalDeemedOneSecond)
    {
        return FormatTime(interval.TotalSeconds, "second");
    }

    return "now";
}

private static string FormatTime(double value, string units)
{
    var ceiling = (int)Math.Ceiling(value);
    return string.Format("{0:#,##0} {1}{2}",
                         ceiling,
                         units,
                         (ceiling == 1 ? string.Empty : "s"));
}