您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

java中如何进行日期时间比较?4种方法介绍

2025/8/2 23:21:09发布25次查看
1. date.compareto()
java.util.date提供了在java中比较两个日期的经典方法compareto()。
1、如果两个日期相等,则返回值为0。
2、如果date在date参数之后,则返回值大于0。
3、如果date在date参数之前,则返回值小于0。
@testvoid testdatecompare() throws parseexception { simpledateformat sdf = new simpledateformat("yyyy-mm-dd"); date date1 = sdf.parse("2009-12-31"); date date2 = sdf.parse("2019-01-31"); system.out.println("date1 : " + sdf.format(date1)); system.out.println("date2 : " + sdf.format(date2)); if (date1.compareto(date2) > 0) { system.out.println("date1 时间在 date2 之后"); } else if (date1.compareto(date2) < 0) { system.out.println("date1 时间在 date2 之前"); } else if (date1.compareto(date2) == 0) { system.out.println("date1 时间与 date2 相等"); } else { system.out.println("程序怎么会运行到这里?正常应该不会"); }}
输出结果:
date1 : 2009-12-31date2 : 2019-01-31date1 时间在 date2 之前

2. date.before(),date.after()和date.equals()
一种语义上比较友好的方法来比较两个java.util.date
@testvoid testdatecompare2() throws parseexception { simpledateformat sdf = new simpledateformat("yyyy-mm-dd"); date date1 = sdf.parse("2009-12-31"); date date2 = sdf.parse("2019-01-31"); system.out.println("date1 : " + sdf.format(date1)); system.out.println("date2 : " + sdf.format(date2)); if (date1.after(date2)) { system.out.println("date1 时间在 date2 之后"); } if (date1.before(date2)) { system.out.println("date1 时间在 date2 之前"); } if (date1.equals(date2)) { system.out.println("date1 时间与 date2 相等"); }}
输出结果
date1 : 2009-12-31date2 : 2019-01-31date1 时间在 date2 之前

3. calender.before(),calender.after()和calender.equals()
使用java.util.calendar比较两个date日期
@testvoid testdatecompare3() throws parseexception { simpledateformat sdf = new simpledateformat("yyyy-mm-dd"); date date1 = sdf.parse("2009-12-31"); date date2 = sdf.parse("2019-01-31"); system.out.println("date1 : " + sdf.format(date1)); system.out.println("date2 : " + sdf.format(date2)); calendar cal1 = calendar.getinstance(); calendar cal2 = calendar.getinstance(); cal1.settime(date1); cal2.settime(date2); if (cal1.after(cal2)) { system.out.println("date1 时间在 date2 之后"); } if (cal1.before(cal2)) { system.out.println("date1 时间在 date2 之前"); } if (cal1.equals(cal2)) { system.out.println("date1 时间与 date2 相等"); }}
输出结果:
date1 : 2009-12-31date2 : 2019-01-31date1 时间在 date2 之前
4. java 8日期比较方法
在java 8中,可以使用新的isbefore(),isafter(),isequal()和compareto()来比较localdate,localtime和localdatetime。以下示例以比较两个java.time.localdate
@testvoid testdatecompare4() throws parseexception { datetimeformatter sdf = datetimeformatter.ofpattern("yyyy-mm-dd"); localdate date1 = localdate.of(2009, 12, 31); localdate date2 = localdate.of(2019, 1, 31); system.out.println("date1 : " + sdf.format(date1)); system.out.println("date2 : " + sdf.format(date2)); system.out.println("is..."); if (date1.isafter(date2)) { system.out.println("date1 时间在 date2 之后"); } if (date1.isbefore(date2)) { system.out.println("date1 时间在 date2 之前"); } if (date1.isequal(date2)) { system.out.println("date1 时间与 date2 相等"); }}
输出结果
date1 : 2009-12-31date2 : 2019-01-31is...date1 时间在 date2 之前
推荐教程:《java教程》
以上就是java中如何进行日期时间比较?4种方法介绍的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product