如何在string.Format中将int显示为TimeSpan?

时间:2012-06-21 12:29:05

标签: c# formatting 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部分。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

由于格式字符串无法更改其参数的类型,因此除了您不能使用的选项外,没有其他选项。

毕竟,int是一个包含数字的类型(从根本上说,至少是),而不是时间跨度,因此int为什么可以格式化为时间跨度?

答案 1 :(得分:0)

您可以执行String.Format("Time: {0}", TimeSpan.FromSeconds(sec).ToString("c");

之类的操作

可以在http://msdn.microsoft.com/en-us/library/dd992632.aspx

找到ToString参数的确切格式