TimeSpan自定义格式抛出异常?

时间:2012-12-10 14:52:32

标签: c# .net string-formatting

我知道这显然是失败的,因为我在这里遗漏了一些东西,但我无法弄清楚这行代码有什么问题:

this.Duration.ToString("{0:%m} minutes {0:%s} seconds")

这是一个FormatException

希望有人能指出我正确的方向!

3 个答案:

答案 0 :(得分:3)

您需要在非格式字符的所有内容周围使用单引号:

Duration.ToString("mm' minutes 'ss' seconds'");

您可以将非格式字符括在单引号中,也可以使用反斜杠转义每一个字符。有关详细信息,请参阅“其他字符”标题下的here

答案 1 :(得分:1)

如果您想使用ToString,则不必传递要格式化的值的索引(此处为%s而不是{0:%s}

我建议在这里使用string.Format。 (使用索引{0: [...] }

string.Format("{0:%m} minutes {0:%s} seconds",this.Duration);

答案 2 :(得分:0)

请使用,

string.Format("{0:%m} minutes {0:%s} seconds", this.Duration)

而不是ToString(" ...")