我想设置两个TimeSpans lasttimestamp和time并将它们设置为0,如下所示:
TimeSpan lasttimestamp = TimeSpan.ParseExact("000000.000","hhmmss.fff",CultureInfo.CurrentCulture);
TimeSpan time = TimeSpan.ParseExact("000000.000", "hhmmss.fff", CultureInfo.CurrentCulture);
然后在稍后的while循环中,我希望将时间戳设置为日志文件中的值,格式为hhmmss.fff,并从lasttimestamp timespan中减去它:
TimeSpan timestamp = TimeSpan.ParseExact(splitline[1], "hhmmss.fff", CultureInfo.CurrentCulture);
time = timestamp.Subtract(lasttimestamp);
怎么不喜欢格式化中的.fff部分导致"输入字符串的格式不正确" ?
我已尝试使用DateTime但是在执行减法时无法将TimeSpan转换为DateTime。
谢谢
答案 0 :(得分:1)
您需要以.
:
@"hhmmss\.fff"
TimeSpan lasttimestamp = TimeSpan.ParseExact(@"000000.000",
@"hhmmss\.fff", CultureInfo.CurrentCulture);
但是,您应该使用TimeSpan.Zero
设置零时间戳,如:
TimeSpan lastTimeSpanZero = TimeSpan.Zero;
两者都会返回相同的值。
(lasttimestamp == lastTimeSpanZero) == true
稍后,在您的解析中转义.
。
TimeSpan timestamp = TimeSpan.ParseExact(splitline[1],
@"hhmmss\.fff", CultureInfo.CurrentCulture);