别再用大小比较时间了

时间:2022-07-23
本文章向大家介绍别再用大小比较时间了,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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;  //日期2
1、 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

如果不是,在比较前一定要先格式化成这两种格式后再做比较,否则会抛异常。