我有一个这样的时间跨度字符串:20 min 49 sec
我想解析它TimeSpan
实例,但是我在使用它时遇到了麻烦。
[从文档中说,必须设置天和小时属性,但就我而言,我没有这些属性,我想知道是否有可能创建一种可以忽略这些值的格式。
要解析那个exact字符串,您将使用以下表达式:
TimeSpan.ParseExact(input, @"%m' min '%s' sec'", CultureInfo.InvariantCulture)
基本上,将数字以外的所有文本视为使用'xxx'
语法指定的文字分隔符。
如果您认为可能需要同时处理min
和mins
以及sec
和secs
,则需要使用具有多种格式的重载:
string[] formats = new[]
{
"%m' min '%s' sec'",
"%m' mins '%s' sec'",
"%m' min '%s' secs'",
"%m' mins '%s' secs'"
};
TimeSpan.ParseExact(input, formats, CultureInfo.InvariantCulture)