C# TimeSpan 解析

C# TimeSpan parse

我有一个时间跨度 - 15 秒

TimeSpan initTimeSpan = new TimeSpan(0, 0, 0, 15, 0);

也是时间跨度的字符串,格式如下:

String s = initTimeSpan.ToString("mm':'ss':'fff");

如何将此字符串解析回时间跨度?此代码无效:

t = TimeSpan.Parse(s);

因为它把秒理解为分钟。

另外,如果有人能给我建议如何格式化原始时间跨度,这样字符串就会在 "ss:fff"[=13 中,这将非常有帮助=]

您必须在回复中包含小时 (hh)...Here 是 msdn 文章。

要详细说明,您可以使用

String s = initTimeSpan.ToString("hh':'mm':'ss':'fff");

如果你想创建一个基于秒的TimeSpan,那么最好使用

var initTimeSpan = TimeSpan.FromSeconds(15);

这是只获取秒和毫秒的字符串格式:

initTimeSpan.ToString("ss':'fff");

解析方法如下:

TimeSpan parsed = TimeSpan.ParseExact(s, "ss':'fff", CultureInfo.InvariantCulture);