我在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
答案 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));