Формат TimeSpan в мм: сс для положительных и отрицательных интервалов времени

Я ищу решение в .net 3.5. Я написал следующее рабочее решение:

private string FormatTimeSpan(TimeSpan time)
{
    return String.Format("{0}{1:00}:{2:00}", time < TimeSpan.Zero ? "-" : "", Math.Abs(time.Minutes), Math.Abs(time.Seconds));
}

Но мой вопрос: есть ли лучший способ? Может быть, что-то короче, где мне не нужна вспомогательная функция.

Ответы на вопрос(2)

Решение Вопроса

Пользовательские строки формата TimeSpan:

private string FormatTimeSpan(TimeSpan time)
{
    return ((time < TimeSpan.Zero) ? "-" : "") + time.ToString(@"mm\:ss");
}
 14 июн. 2012 г., 00:49
О верно. Это работает только для "c", "g". Спасибо.
 Tarion14 июн. 2012 г., 15:26
Просто пришла идея реализовать его как расширение, которое сделает функциональность доступной во всей моей программе.
 Tarion14 июн. 2012 г., 15:25
Я не уверен, но работает ли time.ToString (@ & quot; mm \: ss & quot;) для .net 3.5?
 14 июн. 2012 г., 00:43
Разве отрицательный знак не должен появляться автоматически с того времени. ToString ()?
 14 июн. 2012 г., 00:45
@Tisho - не со строкой нестандартного формата. И нет никакого специального спецификатора формата для этого.

Ты можешь использовать:

get { return Time.ToString().Substring(3); }
 04 апр. 2015 г., 06:23
Я думаю, что это умный взломать.

Ваш ответ на вопрос