Java8中 LocalDate和java.sql.Date的相互转换操作

2022-07-26,,,,

一、简述

首先,java 8引入了java.time.localdate来表示一个没有时间的日期。

其次,使用java 8版本,还需要更新java.sql.date,以便为localdate提供支持,包括tolocaldate和valueof(localdate)等方法。

二、java.time.localdate转换为java.sql.date

java.sql.date.valueof( localdate )

结果:

java.time.localdate = 2017-06-16

java.sql.date = 2017-06-16

三、java.sql.date转换为java.time.localdate

sqldate.tolocaldate()

结果:

java.sql.date = 2017-06-16

java.time.localdate = 2017-06-16

补充知识:java8中 date和localdatetime的相互转换

一、在java 8中将date转换为localdatetime

方法1:

将date转换为localdatetime,我们可以使用以下方法:

1.从日期获取zoneddatetime并使用其方法tolocaldatetime()获取localdatetime

2.使用localdatetime的instant()工厂方法

示例:

结果:

date = fri jun 16 15:35:26 cst 2017

localdatetime = 2017-06-16t15:35:26.970

方法2:

我们也可以使用localdatetime的factoryinput()方法使用系统的默认时区。

localdatetime localdatetime = localdatetime.ofinstant(date.toinstant(), zoneid);

二、在java 8中将localdatetime转换为date

要将localdatetime转换回java.util.date,我们可以使用以下步骤:

1.使用atzone()方法将localdatetime转换为zoneddatetime

2.将zoneddatetime转换为instant,并从中获取date

示例:

结果:

localdatetime = 2017-06-16t15:38:48.580

date = fri jun 16 15:38:48 cst 2017

以上这篇java8中 localdate和java.sql.date的相互转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

《Java8中 LocalDate和java.sql.Date的相互转换操作.doc》

下载本文的Word格式文档,以方便收藏与打印。