比较时间字符串的时候,CompareTo理论上没有问题,但是如果在多端中间有数据流转,有一个端字符串格式不统一,就会出现问题,导致比较出现混乱。
比如:
int flg = "2020-05-08 10:46:50".CompareTo("2020-05-08 10:55:10");
if (flg > 0)//这时,这里会小于0
{
}
当两边格式不统一时:
int flg = "2020-05-08 10:46:50".CompareTo("2020-05-08 10:55:10");
if (flg > 0)//这时返回1,大于0
{
}
造成这个结果的原因就是后面的字符串多了一个空格,而实际上应该返回小于0的结果,即后面的时间大于前面的时间。
所以时间上比较,还是转一下再做比较的好,有问题容易提早暴露出来,不至于出现问题一脸蒙逼。