介绍
如何在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之前
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。