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