当前位置:首页 > 图灵资讯 > 技术篇> Java日期对比 java 比较日期
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); } }}
结果:
方法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实现的。
本文是转载内容,我们尊重原作者对文章的权利。如有内容错误或侵权行为,请联系我们更正或删除文章。
ps 图灵课堂老师从近一百套最新一线互联网公司面试题中精选而出,涵盖Java架构面试 所有技术栈,包括JVM,Mysql,并发,Spring,Redis,MQ,Zookeeper,Netty, Dubbo,Spring Boot,Spring Cloud,数据结构与算法,设计模式等相关技术领域的大 厂面试题及详解。 详情咨询客服获取全套面经试题。