Java中如何比较两个日期时间的先后顺序?

2026-05-26 00:231阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计715个文字,预计阅读时间需要3分钟。

Java中如何比较两个日期时间的先后顺序?

目录日期和时间比较Java中日期如何比较大小Java中时间如何比较大小比较两个日期时间比较两个日期大小LocalDateTime和DateTimeFormatterJava中日期如何比较大小Java中时间如何比较大小比较两个日期时间

目录
  • 日期和时间比较大小
    • java中日期如何比较大小
    • java中时间如何比较大小
  • 比较两个日期时间,比较两个日期大小
    • LocalDateTime
    • DateTimeFormatter

日期和时间比较大小

java中日期如何比较大小

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //设置日期格式 Date begin = fmt.parse("2017-07-30"); //开始日期 Date end = fmt.parse("2017-08-30"); //结束日期 try { Date bt=df.parse(begin ); Date et=df.parse(end ); if (bt.before(et)){ bt日期小于et日期 } if (bt.after(et)){ bt日期大于et日期 } } catch (ParseException e) { e.printStackTrace(); }

java中时间如何比较大小

public static void main(String[] args) throws ParseException { String time = "2019-6-02 11:06:51"; String time1 = "2019-6-02 11:05:51"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = format.parse(time); Date d2 = format.parse(time1); //前者大于后者 返回大于0的数字反之小于0的数字,等于返回0 System.out.println(d1.compareTo(d2)); }

比较两个日期时间,比较两个日期大小

我们经常会遇到一个问题,需要比较两个时间的大小,或者需要判断一个时间在另一个时间之前,或者一个时间在另一个时间之后,比较日期时间的大小,还要精确到秒,这个时候经常会有一些人卡住。

Java中如何比较两个日期时间的先后顺序?

这个时候我们来讲解一下java8的新日期时间类。

LocalDateTime

可以很好的解决日期比较大小的问题,而且是线程安全的,精确到秒

不说废话直接上代码

看不懂的可以直接复制使用 只需要传2个需要比较的日期时间即可

但是必须需要jdk8版本 因为这个是java8的日期时间处理类

public boolean verifyDate(Date begin,Date end){ ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime beginDate = LocalDateTime.ofInstant(begin.toInstant(), zoneId); LocalDateTime endDate = LocalDateTime.ofInstant(end.toInstant(), zoneId); return beginDate.isBefore(endDate); }

比较begin的时间是否在end之前 看不懂的可以直接复制上面代码 使用 精确到秒

  • begin < end 返回true
  • begin > end 返回false
  • begin = end 返回false

主要是使用LocalDateTime有一种比较的方法

  • isBefore(LocalDateTime ) :可判断当前的localdatetime时间在参数的localdatetime之后
  • isAfter(LocalDateTime) :可判断当前的localdatetime时间在参数的localdatetime之前

如:

isBefore()

a.isBefore(b)

  • a < b 返回true
  • a = b 返回false
  • a > b 返回false

isAfter()

a.isAfter(b)

  • a < b 返回false
  • a = b 返回false
  • a > b 返回true

DateTimeFormatter

DateTimeFormatter这个相当于simpledateformatter的日期安全类

他提供了更强大的api

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

本文共计715个文字,预计阅读时间需要3分钟。

Java中如何比较两个日期时间的先后顺序?

目录日期和时间比较Java中日期如何比较大小Java中时间如何比较大小比较两个日期时间比较两个日期大小LocalDateTime和DateTimeFormatterJava中日期如何比较大小Java中时间如何比较大小比较两个日期时间

目录
  • 日期和时间比较大小
    • java中日期如何比较大小
    • java中时间如何比较大小
  • 比较两个日期时间,比较两个日期大小
    • LocalDateTime
    • DateTimeFormatter

日期和时间比较大小

java中日期如何比较大小

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //设置日期格式 Date begin = fmt.parse("2017-07-30"); //开始日期 Date end = fmt.parse("2017-08-30"); //结束日期 try { Date bt=df.parse(begin ); Date et=df.parse(end ); if (bt.before(et)){ bt日期小于et日期 } if (bt.after(et)){ bt日期大于et日期 } } catch (ParseException e) { e.printStackTrace(); }

java中时间如何比较大小

public static void main(String[] args) throws ParseException { String time = "2019-6-02 11:06:51"; String time1 = "2019-6-02 11:05:51"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = format.parse(time); Date d2 = format.parse(time1); //前者大于后者 返回大于0的数字反之小于0的数字,等于返回0 System.out.println(d1.compareTo(d2)); }

比较两个日期时间,比较两个日期大小

我们经常会遇到一个问题,需要比较两个时间的大小,或者需要判断一个时间在另一个时间之前,或者一个时间在另一个时间之后,比较日期时间的大小,还要精确到秒,这个时候经常会有一些人卡住。

Java中如何比较两个日期时间的先后顺序?

这个时候我们来讲解一下java8的新日期时间类。

LocalDateTime

可以很好的解决日期比较大小的问题,而且是线程安全的,精确到秒

不说废话直接上代码

看不懂的可以直接复制使用 只需要传2个需要比较的日期时间即可

但是必须需要jdk8版本 因为这个是java8的日期时间处理类

public boolean verifyDate(Date begin,Date end){ ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime beginDate = LocalDateTime.ofInstant(begin.toInstant(), zoneId); LocalDateTime endDate = LocalDateTime.ofInstant(end.toInstant(), zoneId); return beginDate.isBefore(endDate); }

比较begin的时间是否在end之前 看不懂的可以直接复制上面代码 使用 精确到秒

  • begin < end 返回true
  • begin > end 返回false
  • begin = end 返回false

主要是使用LocalDateTime有一种比较的方法

  • isBefore(LocalDateTime ) :可判断当前的localdatetime时间在参数的localdatetime之后
  • isAfter(LocalDateTime) :可判断当前的localdatetime时间在参数的localdatetime之前

如:

isBefore()

a.isBefore(b)

  • a < b 返回true
  • a = b 返回false
  • a > b 返回false

isAfter()

a.isAfter(b)

  • a < b 返回false
  • a = b 返回false
  • a > b 返回true

DateTimeFormatter

DateTimeFormatter这个相当于simpledateformatter的日期安全类

他提供了更强大的api

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。