为什么TimeSpan字符串格式化会解析为异常?

时间:2012-10-15 13:49:41

标签: c# asp.net-mvc-2 .net-4.0 string-formatting timespan

我在c#MVC2项目中有以下代码行:

string.Format(@"{0\:HH\:mm}", new TimeSpan(0))

此行导致以下异常:

System.FormatException: Input string was not in a correct format.

有人可以告诉我为什么吗?我正在使用C#,asp.net,mvc2和.net framework 4

4 个答案:

答案 0 :(得分:9)

两个问题。首先,你不应该逃避第一个:。这是分隔符所必需的,不应转义。

第二个是HH应为hh

这样运行没有错误:

string.Format(@"{0:hh\:mm}", new TimeSpan(0))

答案 1 :(得分:3)

您的格式字符串使用HH - 它应为hh

请参阅MSDN上的Custom TimeSpan Format Strings

此外,您的第一个:不应该被转义 - 它是占​​位符0的一部分,而不是文字。

合:

string.Format(@"{0:hh\:mm}", new TimeSpan(0))

答案 2 :(得分:0)

使用时应使用hh代替HH。

答案 3 :(得分:0)

在此处查看规范:http://msdn.microsoft.com/en-us/library/ee372286.aspx

您应该使用hh而不是HH,例如:

var str = string.Format(@"{0:hh\:mm}", new TimeSpan(2,2,0));

相关问题