首页 > 图灵资讯 > 技术篇>正文

Java日期对比 java 比较日期

2023-05-18 09:18:52

方法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);        }    }}

结果:

Java日期对比 java 比较日期_java

方法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);        }    }}

结果:

Java日期对比 java 比较日期_System_02

方法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);        }    }}

结果:

Java日期对比 java 比较日期_System_03

这里推荐方法2,因为方法1和方法3的底层原理也是由方法2实现的。

本文是转载内容,我们尊重原作者对文章的权利。如有内容错误或侵权行为,请联系我们更正或删除文章。

上一篇 洛谷-P1304 哥德巴赫猜想
下一篇 Java序列化后的字符串 java序列化作用

文章素材均来源于网络,如有侵权,请联系管理员删除。