Обратите внимание, что TimeSpan
не имеет формата . Он хранится в каком-то внутреннем представлении, которое совсем не похоже на 00:10:00
.
Обычный формат hh:mm:ss
создается только тогда, когда TimeSpan преобразуется в String
, явно или неявно. Таким образом, преобразование - это точка, где вам нужно что-то сделать. Пример кода в вашем вопросе «слишком рано» - на данный момент TimeSpan все еще имеет тип TimeSpan
.
Чтобы изменить преобразование в строку, вы можете использовать String.Format
, как предложено в ответе V4Vendetta, или вы можете использовать строку пользовательского формата для TimeSpan.ToString (доступно с .NET 4):
string formattedTimespan = ts.ToString("hh\\:mm");