удалить секунды из временного интервала, используя c # - PullRequest
8 голосов
/ 19 января 2012

Я хочу удалить секунды из промежутка времени, используя c #

Мой код здесь:

TimeSpan lateaftertime = new TimeSpan();
lateaftertime =  lateafter - Convert.ToDateTime(intime) ;

Возвращает значение 00:10:00

Но я хочуниже вывода: 00:10 только не поле секунд :00.

Ответы [ 3 ]

19 голосов
/ 19 января 2012

Ну, вы можете просто сделать как

string.Format("{0}:{1}", ts.Hours,ts.Minutes) // it would display 2:5

EDIT

для правильного форматирования используйте

string.Format("{0:00}:{1:00}", ts.Hours,ts.Minutes) // it should display 02:05
10 голосов
/ 15 декабря 2014
TimeSpan newTimeSpan = new TimeSpan(timeSpan.Hours, timeSpan.Minutes, 0);
10 голосов
/ 19 января 2012

Обратите внимание, что TimeSpan не имеет формата . Он хранится в каком-то внутреннем представлении, которое совсем не похоже на 00:10:00.

Обычный формат hh:mm:ss создается только тогда, когда TimeSpan преобразуется в String, явно или неявно. Таким образом, преобразование - это точка, где вам нужно что-то сделать. Пример кода в вашем вопросе «слишком рано» - на данный момент TimeSpan все еще имеет тип TimeSpan.

Чтобы изменить преобразование в строку, вы можете использовать String.Format, как предложено в ответе V4Vendetta, или вы можете использовать строку пользовательского формата для TimeSpan.ToString (доступно с .NET 4):

string formattedTimespan = ts.ToString("hh\\:mm");
...