C# DateTime使用有关问题
C# DateTime使用问题
各位大大,小弟在使用c#中遇到如下问题,烦请各位大大帮忙解惑一下吧,谢谢!
PS:
DateTime d1 = DateTime.Parse(“2015-09-21 10:15:10.020”);
DateTime d2 = DateTime.Parse(“2015-09-21 10:15:10.20”);
使用DateTime.Compare(d1, d2)进行比较的结果是不相等的,有没有一种方法使得如上的比较是相等的呢?
------解决思路----------------------
把字符串 转成 yyyy-MM-dd hh:mm:ss 格式的。
------解决思路----------------------
忽略毫秒 其实就是(dt1-dt2).TotalMilliseconds < 1000
------解决思路----------------------
一个时间是 2015-09-21 10:15:10.020
一个时间是 2015-09-21 10:15:10.200
当然不相等了,如果想当做相等的 就要自己判断下需要什么时间维度的
到小时,到分钟,到秒,还是到毫秒
这就要求你在Parse的时候 把时间约束一下
------解决思路----------------------
这里存在个问题,比如 10:15:10.001 和 10:15:09.999 ,这两个时间点的间隔在一秒内(2ms),然而它们跨越了秒边界,在秒的单位上的数字不同,你是否认为它们相等。更极端一点,这2ms可能跨天,是否能认为相等。
如果能认为相等,那么就类似 #2 的办法,取时间间隔的绝对值比较。如果不能,就类似 #1,截断到秒,再比较。
各位大大,小弟在使用c#中遇到如下问题,烦请各位大大帮忙解惑一下吧,谢谢!
PS:
DateTime d1 = DateTime.Parse(“2015-09-21 10:15:10.020”);
DateTime d2 = DateTime.Parse(“2015-09-21 10:15:10.20”);
使用DateTime.Compare(d1, d2)进行比较的结果是不相等的,有没有一种方法使得如上的比较是相等的呢?
------解决思路----------------------
把字符串 转成 yyyy-MM-dd hh:mm:ss 格式的。
------解决思路----------------------
忽略毫秒 其实就是(dt1-dt2).TotalMilliseconds < 1000
------解决思路----------------------
一个时间是 2015-09-21 10:15:10.020
一个时间是 2015-09-21 10:15:10.200
当然不相等了,如果想当做相等的 就要自己判断下需要什么时间维度的
到小时,到分钟,到秒,还是到毫秒
这就要求你在Parse的时候 把时间约束一下
------解决思路----------------------
这里存在个问题,比如 10:15:10.001 和 10:15:09.999 ,这两个时间点的间隔在一秒内(2ms),然而它们跨越了秒边界,在秒的单位上的数字不同,你是否认为它们相等。更极端一点,这2ms可能跨天,是否能认为相等。
如果能认为相等,那么就类似 #2 的办法,取时间间隔的绝对值比较。如果不能,就类似 #1,截断到秒,再比较。