Java Date 时间比较的三种方法

compareTo方法比较

compareTo方法返回一个整数,表示两个日期的比较结果。如果返回值小于0,则表示date1在date2之前,如果大于0,则表示date1在date2之后,如果等于0,则表示两个日期相等

Date date1 = new Date();
Date date2 = new Date();

int result = date1.compareTo(date2);

if(result < 0){
  System.out.println("date1在date2之前");
}else if(result > 0){
  System.out.println("date1在date2之后");
}else{
  System.out.println("date1和date2相等");
}

使用before(),after()比较

before()就是date1在date2之前,after()就是date1在date2之后

Date date1 = new Date();
Date date2 = new Date();

if(date1.before(date2)){
  System.out.println("date1在date2之前");
}else if(date1.after(date2)){
  System.out.println("date1在date2之后");
}else{
  System.out.println("date1和date2相等");
}

转换成时间戳(毫秒)进行比较

先将时间类型转化成毫秒(时间戳),然后根据大小比较

Date date1 = new Date();
Date date2 = new Date();

long date1Long = date1.getTime();
long date2Long = date2.getTime();

if(date1Long > date2Long){
  System.out.println("date1在date2之后");
}else if(date1Long < date2Long){
  System.out.println("date1在date2之后");
}else{
  System.out.println("date1和date2相等");
}

posted on   强K  阅读(1641)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示