FormatException mm:ss

时间:2013-11-27 12:10:27

标签: c# timespan formatexception

我想从格式为“MM:SS”的字符串中提取TotalSeconds。例如:01:20我是80(秒)

我这样做,我得到一个例外:

TimeSpan.ParseExact(time.ToString(), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;

我做错了什么?

谢谢!

3 个答案:

答案 0 :(得分:2)

如果timeDateTime,您可以执行类似

的操作
TimeSpan ts = new TimeSpan(time.Ticks);
Console.WriteLine(ts.TotalSeconds);

如果您希望它按照您的代码工作,那么请注意ToString()方法的输出与您提供的字符串模式不匹配。将其格式化为输出与所需模式匹配,例如

TimeSpan.ParseExact(time.ToString("mm:ss"), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;

答案 1 :(得分:2)

请尝试以下操作:

TimeSpan.ParseExact(time.ToString(), "mm\\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;

MSDN

上阅读有关Costum TimeSpan格式的更多信息

反斜杠是一个转义字符。这意味着,在C#中,格式字符串必须是@ -quoted,或者mm:ss必须用反斜杠分隔。

答案 2 :(得分:0)

根据TimeSpan自定义格式指南http://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx

你必须使用backslach对冒号进行排序,因此你的格式应该是这样的

TimeSpan.ParseExact(time.ToString(), @"mm\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;