2012-06-13 112 views
9

我正在尋找在.NET 3.5的解決方案,我寫了下面的工作方案:格式時間跨度,以MM:SS的正面和負面的時間跨度

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

但我的問題是:有沒有更好的辦法?也許更短的地方,我不需要幫手功能。

回答

21

稍短,使用Custom TimeSpan Format Strings

private string FormatTimeSpan(TimeSpan time) 
{ 
    return ((time < TimeSpan.Zero) ? "-" : "") + time.ToString(@"mm\:ss"); 
} 
+0

不應該負號自動從time.ToString出現( )? – Tisho

+4

@Tisho - 它沒有,沒有自定義格式字符串。它沒有自定義格式說明符。 – Oded

+1

哦,對。它只適用於「c」,「g」..謝謝。 – Tisho

2

下面.NET 4.0

您可以使用:

get { return Time.ToString().Substring(3); } 
+0

我認爲這是一個聰明的黑客。 – Infrid