Ответ 1
Я не думаю, что одна строка формата даст вам то, что вы хотите, но создание самого результата - простая задача:
public string FormatTimeSpan(TimeSpan ts)
{
var sb = new StringBuilder();
if ((int) ts.TotalHours > 0)
{
sb.Append((int) ts.TotalHours);
sb.Append(":");
}
sb.Append(ts.Minutes.ToString("m"));
sb.Append(":");
sb.Append(ts.Seconds.ToString("ss"));
return sb.ToString();
}
EDIT: лучшая идея!
Вы можете сделать метод выше метода расширения в классе TimeSpan
следующим образом:
public static class Extensions
{
public static string ToMyFormat(this TimeSpan ts)
{
// Code as above.
}
}
Затем использовать это так же просто, как вызвать ts.ToMyFormat()
.