Java中如何实现java.sql.Date和LocalDate相互转换

IT 文章2年前 (2023)发布 小编
0 0 0

Java中,日期主要由3个类表示:

  • java.time.LocalDate:这是Java 8日期时间API的一部分。它只包含日期部分(日、月、年),不包含时间部分(小时、分钟和秒)。
  • java.util.Date:这是Java 8版本之前使用的传统类。它包含了日期和时间部分。它存储自纪元(1970年1月1日,格林威治标准时间00:00:00)以来的毫秒数。
  • java.sql.Date:这也是一个传统类,是java.util.Date的子类。它是专门为通过JDBC API与数据库一起工作而设计的。它可以作为SQL日期使用,并在Java和SQL数据库之间传递日期而不会丢失时间信息。它重写了java.util.Date的方法,只处理日期部分,有效地将时间组件设置为午夜(00:00:00)。

在本教程中,我们将学习如何实现java.sql.Date和LocalDate相互转换

1. java.sql.Date 如何转为 LocalDate

使用java.sql.Date.toLocalDate()方法从java.sql.Date获取LocalDate。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

在下面的例子中,我们首先创建一个java.sql.Date的实例。在我们的应用程序中,我们可以从数据库获取它。接下来,我们调用sqlDate.toLocalDate()来获取LocalDate实例。

//获取 SQL date 实例
java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
//基于 SQL date获取LocalDate实例
LocalDate localDate = sqlDate.toLocalDate();
System.out.println( localDate );    //2023-10-31

2.LocalDate如何转换为java.sql.Date

使用java.sql.Date.valueOf()方法从LocalDate获取SQL日期。

在下面的例子中,我们首先创建一个java.time.LocalDate的实例。在我们的应用程序中,我们可以从某个方法中获得它或者自己创建。接下来,我们调用sqlDate.valueOf()来获取Date实例。请注意,valueOf()是一个静态方法,因此可以直接从类引用中调用。

//Local date 实例
LocalDate localDate = LocalDate.now();
//转为sqlDate
java.sql.Date sqlDate = java.sql.Date.valueOf( localDate );
System.out.println( sqlDate );  //2023-10-31

以上就是Java中如何实现java.sql.Date和LocalDate相互转换的全部内容。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

© 版权声明

相关文章

暂无评论

暂无评论...