0

我正在使用该TimeSpan.ParseExact方法来解析时间跨度。但是,为什么以下失败并抛出异常?

string time = "23:10:00";
string format = "HH:mm:ss";
TimeSpan timeSpan = TimeSpan.ParseExact(time, format, CultureInfo.InvariantCulture);

从 MSDN 上的Custom Date and Time Format Strings文章来看,这个输入字符串的格式是正确的。有任何想法吗?

4

1 回答 1

4

您链接到自定义DateTime格式说明符 - 但您不是解析为DateTime,而是解析为TimeSpan,因此您需要自定义TimeSpan格式说明符- 这意味着使用“hh”而不是“HH”。此外,根据文档,您需要转义冒号 - 所以您真的想要:

string format = @"hh\:mm\:ss";

我已经验证这适用于您的样本值。

于 2012-10-04T16:24:54.097 回答