WPF中TimeSpan的坑
2021-06-04 14:06
标签:arch try mes display cond 情况 img second ima 记一次在WPF中,在将格式为“DD.HH:mm:ss”字符串转换成TimeSpan时遇到的坑 如果字符串为:DD.HH:mm:ss,转换结果正确。例如: 以上输出结果:转换前:2.12:25:45.555转换后:True 2.12:25:45.555 分别更改时间戳不同部分,使其超过对应的最大值。 问题: 对于毫秒数,我们知道1s=1000ms。当字符串中毫秒数超过1000时,会是什么情况。 如上测试可以看出,在ToString()时,毫秒位数为7位。超过其范围4位。最后四位是什么含义呢?答案:最后四位为纳秒有效数字位。(1ms=10000纳秒) 图1毫秒部分大于3位小于7位 如图1所示。转换前:2.12:25:45.125555 转换后:True 2.12:25:45.1255550 ,毫秒125 图2毫秒部分为7位 如图2所示。转换前:2.12:25:45.1255555 转换后:True 2.12:25:45.1255555 ,毫秒125 图3毫秒部分大于7位 如图3所示。转换前:2.12:25:45.125555555 转换后:False 转换失败 总结: WPF中TimeSpan的坑 标签:arch try mes display cond 情况 img second ima 原文地址:https://www.cnblogs.com/lonelyxmas/p/10850652.html1 var currentValue = "2.12:25:45.555";
2 TimeSpan result;
3 var success = TimeSpan.TryParse(currentValue, out result);
4 Console.Write("转换前:"+currentValue);
5 Console.WriteLine("转换后:"+success + " "+ result.ToString());