如何在java中进行日期时间比较

  介绍

如何在java中进行日期时间比较?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<代码> java.util。<日期/代码>提供了在Java中比较两个日期的经典方法compareTo ()。

1,如果两个日期相等,则返回值为0。

2,如果日期在日期参数之后,则返回值大于0。

3,如果日期在日期参数之前,则返回值小于0。

@Testvoid testDateCompare()抛出ParseException {   SimpleDateFormat自卫队=new SimpleDateFormat (“yyyy-MM-dd");   日期date1=sdf.parse (“2009 - 12 - 31“);   日期date2=sdf.parse (“2019 - 01 - 31“);      System.out.println (“date1:“+ sdf.format (date1));   System.out.println (“date2:“+ sdf.format (date2));如果(date1.compareTo (date2)比;0){   System.out.println (“Date1时间在Date2之后“);   }else if (date1.compareTo (date2) & lt;0){   System.out.println (“Date1时间在Date2之前“);   }else if (date1.compareTo (date2)==0) {   System.out.println (“Date1时间与Date2相等“);   其他}{   System.out.println(“程序怎么会运行到这里?正常应该不会“);   }   }

输出结果:

date1: 2009 - 12 - 31 Date2: 2019 - 01 - 31 - date1时间在Date2之前

一种语义上比较友好的方法来比较两个<代码> java.util。日期代码

@Testvoid testDateCompare2()抛出ParseException {   SimpleDateFormat自卫队=new SimpleDateFormat (“yyyy-MM-dd");   日期date1=sdf.parse (“2009 - 12 - 31“);   日期date2=sdf.parse (“2019 - 01 - 31“);      System.out.println (“date1:“+ sdf.format (date1));   System.out.println (“date2:“+ sdf.format (date2));如果(date1.after (date2)) {   System.out.println (“Date1时间在Date2之后“);   }如果(date1.before (date2)) {   System.out.println (“Date1时间在Date2之前“);   }如果(date1.equals (date2)) {   System.out.println (“Date1时间与Date2相等“);   }   }

输出结果

date1: 2009 - 12 - 31 Date2: 2019 - 01 - 31 - date1时间在Date2之前

使用<代码> java.util。日历> @Testvoid testDateCompare3()抛出ParseException {   SimpleDateFormat自卫队=new SimpleDateFormat (“yyyy-MM-dd");   日期date1=sdf.parse (“2009 - 12 - 31“);   日期date2=sdf.parse (“2019 - 01 - 31“);      System.out.println (“date1:“+ sdf.format (date1));   System.out.println (“date2:“+ sdf.format (date2));      日历cal1=Calendar.getInstance ();   日历cal2=Calendar.getInstance ();   cal1.setTime (date1);   cal2.setTime (date2);如果(cal1.after (cal2)) {   System.out.println (“Date1时间在Date2之后“);   }如果(cal1.before (cal2)) {   System.out.println (“Date1时间在Date2之前“);   }如果(cal1.equals (cal2)) {   System.out.println (“Date1时间与Date2相等“);   }   }

输出结果:

date1: 2009-12-31   date2: 2019-01-31   Date1时间在Date2之前

在Java 8中,可以使用新的isBefore (), isAfter (), isEqual()和compareTo()来比较LocalDate,本地时间和LocalDateTime。以下示例以比较两个<代码> java.time。LocalDate

@Testvoid testDateCompare4()抛出ParseException {   DateTimeFormatter自卫队=DateTimeFormatter.ofPattern (“yyyy-MM-dd");   LocalDate date1=LocalDate。(2009年,12日31);   LocalDate date2=LocalDate。(2019,31);      System.out.println (“date1:“+ sdf.format (date1));   System.out.println (“date2:“+ sdf.format (date2));      System.out.println(“是…“);如果(date1.isAfter (date2)) {   System.out.println (“Date1时间在Date2之后“);   }如果(date1.isBefore (date2)) {   System.out.println (“Date1时间在Date2之前“);   }如果(date1.isEqual (date2)) {   System.out.println (“Date1时间与Date2相等“);   }   }

输出结果

date1: 2009 - 12 - 31 date2: 2019 - 01 - 31是……Date1时间在Date2之前


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

如何在java中进行日期时间比较