2012-06-13 16 views
9

私は、次の作業ソリューションを書いた.NET 3.5で解決策を探しています:フォーマットのTimeSpan:正と負のタイムスパンのための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を使用して:.NET 4.0を使用でき

以下のため

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

を:

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

これはスマートなハックだと思います。 – Infrid

関連する問題