奇怪的时间错误

时间:2017-04-29 19:19:23

标签: c# datetime timespan

class Program
{
    static void Main(string[] args)
    {

        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(@"C:\Users\Anmol Jaising\Desktop\Project\File.xml");

        Object[] args1 = new Object[1];



        XmlNodeList nodeActualResultA = xDoc.SelectNodes("/Report/TestScript/Reporter/ReportItems/ReportItem/ActualResult");


        String A = nodeActualResultA[2].InnerText; // 00:04.354



        TimeSpan span = Change(A);
        String spanTime = span.ToString();

        Console.WriteLine(A); // 00:04.354
        Console.WriteLine(span); // 00:00.000
        Console.WriteLine(spanTime); // 00:00.000

        Console.ReadKey();
    }


    public static TimeSpan Change(string span)
    {
        TimeSpan interval;
        TimeSpan.TryParseExact(span, @"mm\.ss\.fff", null, out interval);
        return interval;
    }

}

}

如果我以简单的字符串格式使用时间,我会得到完美的输出。但是,当我将它转换为TimeSpan格式时,无论什么时候,它都会变成00:00.000 毫米:ss.000

请你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你写的 A 等于 00:04.354
因此,TryParseExact需要格式字符串

TimeSpan.TryParseExact(span, @"mm\:ss\.fff", null, out interval);
                                  ^