Согласно MSDN , использование %h
покажет вам
Количество целых часов в интервале времени, когда не учитывается как часть дней .
Я думаю, вам нужно использовать свойство TotalHours
класса TimeSpan
, например:
TimeSpan day= new TimeSpan(TimeSpan.TicksPerDay);
Console.WriteLine("{0} hours {1} minutes", (int)day.TotalHours, day.Minutes);
Обновление
Если вам абсолютно необходимо достичь указанного формата путем передачи пользовательских форматеров в метод ToString
, вам, вероятно, потребуется создать собственный класс CustomTimeSpan
. К сожалению, вы не можете наследовать от struct
, поэтому вам придется строить его с нуля.