今天在做一个APP的时候要用到两个时间的比较,比较的是一个特定时间和当前时间,所以想到了用Calendar类的compareTo方法来比较,当前时间使用Calendear.getInstance()获取,另一个时间通过“2014-12-11 16:48:00”转化而来,在使用compareTo方法比较时发现两个却不相等,返回-1,但是当前时间确实是"2014-12-11 16:48:00"。
于是查看该方法的源码,如图
显然timeInMillis是小于anotherTimeInMillis的,应该是精确度的问题,再跳进getTimeInMillis()方法
代码很简单,computeTime为抽象方法,跳进子类GregorianCalendar查看
在往下看,找到了这行代码
差不多了,在比较前将Calendar实例的MILLISECOND单位都设置为0,compareTo方法返回0了,又是一个小问题,折腾这么久,好了,继续Coding。