欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-29 13:37:59
一、简述首先,java 8引入了java.time.localdate来表示一个没有时间的日期。其次,使用java 8版本,还需要更新java.sql.date,以便为localdate提供支持,包括...

一、简述

首先,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的相互转换操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。