在C#中将不规则字符串转换为TimeSpan

CCE*_*ROD 1 c# string parsing timespan

我有以下格式的几个字符串:

"1:15"
":45"
"1:30:45"

我需要将它们转换为TimeSpan,但是当我使用TimeSpan.Parse中的一些(例如第一个)时,它返回1小时15分钟,我希望它为1分15秒.

任何建议将不胜感激!

Ric*_*der 5

您可以使用TimeSpan.ParseExact允许您指定精确格式说明符数组的重载.

var formats = new string[] {@"m\:s", @"\:s", ...};
var timeSpace = TimeSpan.ParseExact(input, formats, CultureInfo.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)

请注意,这ParseExact是在.Net 4中引入的