我正在以这种格式从XML文件中读取字符串。 DD:HH:MM:SS。该字符串告诉我测试运行的持续时间。我想尝试获取一个月内所有测试需要多长时间的总和,但我不确定是否有办法将字符串转换为此格式的时间戳。我知道使用Convert.ToDateTime,但不幸的是我将永远不会在正在读入的字符串中有一个月或一年。我不完全确定这是否可能,但无论如何都要做这样的事情在C#,如果没有,还有其他任何建议吗?所有的帮助将不胜感激,谢谢!
var test = "00.00.00.14";
var final = Convert.ToDateTime("dd:hh:mm:ss"); //Any way to do something like this? This format throws an error
答案 0 :(得分:6)
您正在寻找TimeSpan
(持续时间),而不是DateTime
(某个时间点)。具体来说,ParseExact
方法允许您指定应尝试阅读的格式。
var result = TimeSpan.ParseExact("00.00.00.14", @"dd\.hh\.mm\.ss",
CultureInfo.InvariantCulture);
TimeSpan
可以求和,例如
var sum = timeSpan1 + timeSpan2;