jdk1.8新特性之LocalDate和Date的相互转换

Date和LocalDate的转换

Date和LocalDate的转换需要借助Instant时间戳

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;

public class Demo5 {
public static void main(String[] args) {
	System.out.println("---------Date Instant   LocalDateTime 转换-----------");
	Date d1=new Date();
	System.out.println("Date :"+d1);
	
	Instant i1=d1.toInstant();
	System.out.println("Date to instant:"+i1);
	
	LocalDateTime ldt=i1.atZone(ZoneId.systemDefault()).toLocalDateTime();
	System.out.println("localDate :"+ldt);
	
	System.out.println("---------反转换-----------");
	
	LocalDateTime local=LocalDateTime.now();
	System.out.println(local);
	Instant i3=local.atZone(ZoneId.systemDefault()).toInstant();
	System.out.println("Instant:"+i3);
	Date d2=Date.from(i3);
	System.out.println("Date:"+d2);
//获得的Instant的时间比Date 和 LocalDateTime 少六个小时是正确的
//	Instant显示的是英国的本初子午线的时间,时间是一样的,这是表示的不一样
}
}

运行结果:

---------Date Instant   LocalDateTime 转换-----------
Date :Wed Apr 03 19:45:01 CST 2019
Date to instant:2019-04-03T11:45:01.614Z
localDate :2019-04-03T19:45:01.614
---------反转换-----------
2019-04-03T19:45:01.742
Instant:2019-04-03T11:45:01.742Z
Date:Wed Apr 03 19:45:01 CST 2019

 

你可能感兴趣的:(JAVA)