方法1、Date或Stringcompareto()方法,其值返回1、-1或0
package com.my.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Datecompare1 { public static void main(String[] args) throws ParseException { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = df.parse("2022-02-16 10:22:01"); Date date2 = df.parse("2022-02-15 10:22:01"); if (date1.compareTo(date2) == 1) { System.out.println(Date1比Date2晚); } else if (date1.compareTo(date2) == -1) { System.out.println(Date1比Date2早); } else if (date1.compareTo(date2) == 0) { System.out.println(Date1等于Date2); } }}
package com.my.test;public class Datecompare2 { public static void main(String[] args) { String date1 = "2022-02-16 10:22:01"; String date2 = "2022-02-15 10:22:01"; if (date1.compareTo(date2) == 1) { System.out.println(Date1比Date2晚); } else if (date1.compareTo(date2) == -1) { System.out.println(Date1比Date2早); } else if (date1.compareTo(date2) == 0) { System.out.println(Date1等于Date2); } }}
结果:
方法2、Date的getTime()方法转换为比较其毫秒值
package com.my.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Datecompare3 { public static void main(String[] args) throws ParseException { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = df.parse("2022-02-16 10:22:01"); Date date2 = df.parse("2022-02-15 10:22:01"); if (date1.getTime() > date2.getTime()) { System.out.println(Date1比Date2晚); } else if (date1.getTime() < date2.getTime()) { System.out.println(Date1比Date2早); } else { System.out.println(Date1等于Date2); } }}
结果:
方法3、Date的before(), after(), equals()方法
package com.my.test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class Datecompare4 { public static void main(String[] args) throws ParseException { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = df.parse("2022-02-16 10:22:01"); Date date2 = df.parse("2022-02-15 10:22:01"); 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); } }}
结果:
这里推荐方法2,因为方法1和方法3的底层原理也是由方法2实现的。
本文是转载内容,我们尊重原作者对文章的权利。如有内容错误或侵权行为,请联系我们更正或删除文章。