文
章
目
录
章
目
录
在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。
在下面的例子中,我们首先创建一个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相互转换的全部内容。