Java8日期时间类LocalDateTime比较大小举例

 更新时间:2024年05月28日 11:26:22   作者:dingcho  
LocalDate是Java 8中的日期类之一,它表示一个日期,下面这篇文章主要给大家介绍了关于Java8日期时间类LocalDateTime比较大小的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

LocalDateTime是Java 8中的一个日期时间类,它继承自LocalDate和LocalTime,可以表示一个不含时区信息的日期时间对象。通过LocalDateTime可以方便地进行日期时间计算、格式化等操作

1、equals()方法

LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
// 返回 true
boolean result = localDateTime1.equals(localDateTime2); 

2、compareTo()方法

 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);
 // 返回 -1
 int result = localDateTime1.compareTo(localDateTime2);

3、isBefore()方法

/**
* LocalDateTime的isBefore()方法用于判断一个LocalDateTime是否在另一个LocalDateTime之前。
* 如果当前对象在另一个对象之前,返回true;否则返回false。
*/
 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);

// 返回 true
boolean result = localDateTime1.isBefore(localDateTime2); 

4、isAfter()方法

/**
* LocalDateTime的isAfter()方法用于判断一个LocalDateTime是否在另一个LocalDateTime之后。
* 如果当前对象在另一个对象之后,返回true;否则返回false。
*/
 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 12, 24, 8, 30, 0);
 LocalDateTime localDateTime2 = LocalDateTime.of(2023, 12, 24, 8, 40, 0);

// 返回 false
boolean result = localDateTime1.isAfter(localDateTime2); 

需要注意的是,当使用compareTo()方法比较两个LocalDateTime对象时,如果两个对象的日期时间值相同,但是它们的时区信息不同,仍然会返回0。因此在进行日期时间比较时,需要确保两个LocalDateTime对象的时区信息相同。

附:LocalDateTime 转 Date

LocalDateTime不包括时区,而Date代表一个具体的时间瞬间,精度为毫秒。

为了从LocalDateTime转换到Date,我们需要提供时区。

LocalDateTime + Time-Zone = Date

我们可以用以下方法将LocalDateTime转换为Date

1.用 LocalDateTime.atZone(): 它把这个日期时间和一个给定的时区结合起来,创建一个ZonedDateTime。然后这个ZonedDateTime可以被转换为Instant。Date.from()方法接受Instant并返回相等的Date实例。

LocalDateTime localDateTime = LocalDateTime.parse("2019-11-15T13:15:30");
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
System.out.println(date);

2.用 LocalDateTime.toInstant(): 它将这个本地的日期时间和指定的偏移量结合起来,形成Instant

instant = localDateTime.toInstant(ZoneOffset.UTC);
date = Date.from(instant);
System.out.println(date);

3.用 Timestamp.valueOf(): 它将一个JDBC时间戳转义格式的字符串对象转换为一个Timestamp值。给定的字符串日期应该是yyyy-MM-dd HH:mm:ss格式。

instant = Timestamp.valueOf(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))).toInstant();
date = Date.from(instant);
System.out.println(date);

为了创建Date实例,我们也使用Date构造函数来传递时间,单位为毫秒。

Timestamp timestamp = Timestamp.valueOf(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
date = new Date(timestamp.getTime());
System.out.println(date);

总结

到此这篇关于Java8日期时间类LocalDateTime比较大小的文章就介绍到这了,更多相关Java LocalDateTime比较大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java List集合取交集的8种不同实现方式总结

    Java List集合取交集的8种不同实现方式总结

    工作中经常遇到需要取两个集合之间的交集、差集情况,下面这篇文章主要给大家总结介绍了关于Java List集合取交集的8种不同实现方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Java实现俄罗斯方块游戏的示例代码

    Java实现俄罗斯方块游戏的示例代码

    俄罗斯方块是一个最初由阿列克谢帕吉特诺夫在苏联设计和编程的益智类视频游戏。本文将利用Java实现这一经典的小游戏,感兴趣的可以动手试一试
    2022-03-03
  • Java中的switch新特性与使用详解

    Java中的switch新特性与使用详解

    这篇文章主要介绍了Java中的switch新特性与使用详解,Switch语句可以实现根据某一变量选则执行代码块,当然直接使用If语句也可以做到,但是有时候使用Switch语句往往更加简洁优美,需要的朋友可以参考下
    2023-11-11
  • SpringBoot整合minio服务的示例代码

    SpringBoot整合minio服务的示例代码

    本文主要介绍了SpringBoot整合minio服务的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Springboot集成mqtt客户端详解

    Springboot集成mqtt客户端详解

    MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。本文为大家分享了Springboot整合mqtt服务的示例代码,需要的可以参考一下
    2022-10-10
  • SpringBoot详细讲解yaml配置文件的用法

    SpringBoot详细讲解yaml配置文件的用法

    这篇文章主要介绍了SpringBoot中的yaml配置文件问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Spring boot怎么整合Mybatis

    Spring boot怎么整合Mybatis

    spring boot的简配置方便的开发,下面通过本文给大家分享Spring boot整合Mybatis的方法,需要的朋友参考下
    2017-07-07
  • java实现象棋小游戏

    java实现象棋小游戏

    这篇文章主要为大家详细介绍了java实现象棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Java实现Excel导入导出数据库的方法示例

    Java实现Excel导入导出数据库的方法示例

    这篇文章主要介绍了Java实现Excel导入导出数据库的方法,结合实例形式分析了java针对Excel的读写及数据库操作相关实现技巧,需要的朋友可以参考下
    2017-08-08
  • 详解servlet调用的几种简单方式总结

    详解servlet调用的几种简单方式总结

    这篇文章主要介绍了详解servlet调用的几种简单方式总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论