2012-06-21 2 views
0

У меня есть следующий код:Как отображать int как TimeSpan в string.Format?

int sec = 62; 
string str = string.Format("Time: {0:xxx}", sec); 

Что я должен ввести в месте xxx, если я хочу, выход так: Time: 00:01:02?

Я знаю, что могу напечатать:

string.Format("Time: {0:xxx}", TimeSpan.FromSeconds(sec)); 

или подобное, но только часть я могу изменить это xxx часть.

Любые идеи?

+0

Предоставление ограничений без причины неодобрительно (по крайней мере мне). Почему вы не можете изменить больше, чем просто часть 'xxx'? Я боюсь, что нет решения, если вы действительно не можете написать код, а не просто изменить форматирование ... Удачи! – Bob2Chiv

+0

Я рисую диаграмму и назначая ей точки. Точки представляют секунды. Диаграмма рисуется с использованием этих значений int (seconds), но я хочу, чтобы они отображали значения точек не в секундах, а в форме xx: yy: zz. Но единственной частью, которую я могу изменить, является строка, форматирующая отображаемое значение. Таким образом, строка '' Time: {0: xxx} "является той, которую я могу изменить, переменная, названная мной как' sec', является той, которая передается элементом управления диаграммой. – bpiec

ответ

3

Поскольку строка формата не может изменить тип своих аргументов, нет другой опции, кроме той, которую вы не можете использовать.

В конце концов, int - это тип, который содержит числа (по крайней мере, в основном), а не временные интервалы и, следовательно, почему бы int быть форматируемым как временной интервал?

+0

Ну, на самом деле TimeSpan является готовым к работе, см. Http://msdn.microsoft.com/en-us/library/ee372286.aspx, но здесь дело не в этом. – bpiec

+0

Aaah, одна новая вещь в .NET 4 Я не знал об этом. – Joey

0

Вы могли бы сделать что-то вроде String.Format("Time: {0}", TimeSpan.FromSeconds(sec).ToString("c");

Точный формат ToString аргумента можно найти на http://msdn.microsoft.com/en-us/library/dd992632.aspx

+0

Пожалуйста, ознакомьтесь с описанием. Я могу изменить только часть xxx ... – bpiec

+0

Извинения, я, очевидно, неправильно понял эту часть – Joeb454

Смежные вопросы