TimeSpan.ParseExact("000000.000", " hmmss.fff
本文关键字:quot hmmss fff 000000 ParseExact TimeSpan | 更新日期: 2023-09-27 17:50:51
我想设置两个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 timestamp = TimeSpan.ParseExact(splitline[1], "hhmmss.fff", CultureInfo.CurrentCulture);
time = timestamp.Subtract(lasttimestamp);
为什么它不喜欢格式化中的。fff部分导致"输入字符串格式不正确" ?
我已经尝试过DateTime,但在执行减法时无法将TimeSpan转换为DateTime。
谢谢
您需要在您的格式中转义.
,如@"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);