我想从一个格式为"MM:SS“的字符串中提取TotalSeconds。例如: 01:20 I spect 80 (秒)
我这样做了,我得到了一个例外:
TimeSpan.ParseExact(time.ToString(), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;我做错什么了??
谢谢!
发布于 2013-11-27 12:24:18
尝试以下几个方面:
TimeSpan.ParseExact(time.ToString(), "mm\\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;了解有关Costum TimeSpan格式在MSDN上的更多信息
反斜杠作为转义字符。这意味着,在C#中,格式字符串必须是@-引号,或者mm:ss必须用反斜杠分隔。
发布于 2013-11-27 12:20:13
如果time是DateTime,则只需执行以下操作
TimeSpan ts = new TimeSpan(time.Ticks);
Console.WriteLine(ts.TotalSeconds);如果您希望它按照您的代码工作,那么请注意,ToString()方法的输出与您提供的字符串模式不匹配。将其格式化为使输出与所需的模式匹配,例如,
TimeSpan.ParseExact(time.ToString("mm:ss"), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;发布于 2013-11-27 12:24:07
根据TimeSpan自定义格式指南,这里是http://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx
您必须使用反斜杠对冒号进行排序转义,因此您的格式应该如下所示
TimeSpan.ParseExact(time.ToString(), @"mm\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;https://stackoverflow.com/questions/20242134
复制相似问题