【发布时间】:2012-08-20 11:39:37
【问题描述】:
我以这种方式创建了TimeSpan
TimeSpan ts = new Timespan();
// Do some addition and subtraction on it
然后我用这个将它保存到一个文件中
string.Format("{0}:{1}:{2}:{3}", ts.Hours, ts.Minutes, ts.Seconds, ts.MilliSeconds);
它返回的各种值是这样的
0:0:4:410
0:0:1:425
0:0:1:802
0:0:1:509
0:0:1:674
0:0:1:628
0:0:2:76
如何将其转换回 TimeSpan。
我正在使用
TimeSpan.ParseExact("0:0:4:410", "h:m:s:fff", null);
但它给了我错误Input String is not in correct format.
我哪里错了?
【问题讨论】:
-
顺便说一句,我很确定
0:0:2:76无论如何都会产生 FormatException,因为它与h:m:s:fff不匹配(需要一个前导零!) -
通常我总是将
ToString和ParseExact配对,并为两者使用相同的格式字符串。不是一个 hack-job,一端是格式字符串,另一端是基于格式字符串的解析。 -
你正在努力改进你的答案over here,不是吗? :-)
-
@BigYellowCactus:是的,同时提高了我的 C# 知识。
-
@NikhilAgrawal 所以,我要 +1 来让自己变得更好