ToStringメソッドを用いることで、TimeSpanの表す時間間隔を文字列形式に変換することができます。 さらに、.NET Framework 4からは書式を指定して文字列化することが可能になっています。 これにより値をゼロ埋めしたり、時分秒などの区切り文字を変更して文字列化することができます。
TimeSpan.ToStringメソッドで書式を指定して文字列化する
using System;
class Sample {
static void Main()
{
var ts = new TimeSpan(1, 2, 34, 5, 678);
Console.WriteLine(ts);
Console.WriteLine(ts.ToString("g")); // 分秒のみ0埋めの書式
Console.WriteLine(ts.ToString("G")); // 時分秒および秒未満の端数をすべて0埋めの書式
Console.WriteLine("{0:g} {0:G}", ts);
Console.WriteLine(ts.ToString(@"d' days 'h' hours 'm' minutes 's' seconds '")); // カスタム書式
}
}
実行結果
1.02:34:05.6780000 1:2:34:05.678 1:02:34:05.6780000 1:2:34:05.678 1:02:34:05.6780000 1 days 2 hours 34 minutes 5 seconds
TimeSpanに対して指定可能な書式については、書式指定子 §.時間間隔の書式指定子および書式指定子 §.時間間隔のカスタム書式指定子をご覧ください。