01屌丝写法
由于写代码习惯了基本数据类型(int/Integer、long等)大小的比较,很多人连Date的时间先后比较也用大小(>、<、>=、<=)了。
getTime() 函数返回的是基本数据类型long,可以用>、<、=、>=、<= 来比较大小。
Date date1 = new Date(); Date date2 = new Date(); date1.getTime() > date2.getTime(); // date1时间比date2时间大(所以date1比date2晚) date1.getTime() < date2.getTime(); // date1时间比date2时间小(所以date1比date2早) date1.getTime() < date2.getTime(); // date1时间和date2时间相等
02高富帅写法
java中时间的大小比较:
准确的概念是时间的前后比较,在java中date并非大小之分。
java.util工具类的date原生提供了两个date比较的方法:
- before
- after
Date date1; //日期1 Date date2; //日期21、 date1.before(date2); //date1小于date2(date1比date2早)2、 !(date1.before(date2)); //date1大于等于(date1比date2晚或相等),取1的补集 3、 date1.after(date2); //date1大于(date1比date2晚)4、 !(date1.after(date2)); //date1小于等于date2(date1比date2早或相等),取3的补集
date1和date2的2个日期,一定要是标准的日期格式:yyyyMMddHHmmss或yyyy-MM-dd HH:mm:ss
如果不是,在比较前一定要先格式化成这两种格式后再做比较,否则会抛异常。