【java基础】两个日期的比较大小的几种方法。
String beginTime= "2021-09-14 08:22:10";
String endTime= "2021-09-14 08:22:20";
一、直接用Date自带方法before()和after()比较
1 2 3 4 5 | SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); Date sd1=df.parse(beginTime); Date sd2=df.parse(endTime); System.out.println(sd1.before(sd2)); System.out.println(sd1.after(sd2)); |
Date1.after(Date2),当Date1大于Date2时,返回true,当小于等于时,返回false;
即Date2比Date1小的true/false,当Date2日期比Date1小的时候为true,否则为false
Date1.before(Date2),当Date1小于Date2时,返回true,当大于等于时,返回false;
二、用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
三、转成date格式换成秒数比较秒数大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime();
long long2= sd2.getTime();
附:日期和string的互转方法:
1、Date转String
1 2 3 | Date d= new Date(); SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); String ds=df.format(d); |
2、String转Date
1 | String ds= new String( "2017-06-09 10:22:22" ); try { Date sd=df.parse(ds);} catch (ParseException e) { e.printStackTrace();} |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步