这有点奇怪。如果我试图精确,解析具有有效时间跨度的文本字段会失败!
const string tmp = "17:23:24";
//works
var t1 = TimeSpan.Parse(tmp);
//fails
var t2 = TimeSpan.ParseExact(tmp, "hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
第二次解析失败,并出现异常“输入字符串的格式不正确”。从日期时间。
来自文档:
格式字符串中的任何其他未转义字符,包括
空白字符,被解释为自定义格式说明符。在
大多数情况下,任何其他未转义字符的存在都会导致
格式异常。
有两种方法可以在格式字符串中包含文字字符:
.NET Framework 没有及时定义分隔符语法
间隔。这意味着天和小时之间的分隔符,
小时和分钟,分钟和秒,以及秒和分数
第二个必须全部被视为格式字符串中的字符文字。
因此,解决方案是将格式字符串指定为
TimeSpan.ParseExact(tmp, "hh\\:mm\\:ss", CultureInfo.InvariantCulture)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)