Date与LocalDateTime的相互转换

一、Date对象转换为LocalDateTime

步骤:
    1.拿到要转换的Date对象
    2.将Date对象转换成为Instant对象
        方法:
            Date对象.toInstant()
    3.将瞬时对象转换成为LocalDateTime对象
		方法:
			LocalDateTime.ofInstant(瞬时对象,时区);
/**
*相关代码
*/
//将Date对象转换为LocalDateTime
Date date = new Date();
Instant instant = date.toInstant();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
		

二、LocalDateTime对象转换为Date对象

步骤:
1,拿到要转换的LocalDateTime对象
2,将LocalDateTime对象转换成为时区对象
	方法:
		LocalDateTime对象.atZone(时区);//得到时区对象
3.将2中得到的时区对象转换成为瞬时对象
	方法;
		时区对象.toInstant()//得到瞬时对象
4.通过Date提供的静态方法将3中得到的瞬时对象转换为我们需要的Date对象
	方法:
		Date date = Date.from(瞬时对象);
/**
*相关代码
*/
//将LocalDateTime对象转换为Date对象
LocalDateTime dateTime = LocalDateTime.now();
ZonedDateTime zonedDateTime = dateTime.atZone(ZoneId.systemDefault());
Instant instant2 = zonedDateTime.toInstant();
Date date2 = Date.from(instant2);

猜你喜欢

转载自blog.csdn.net/m0_69057918/article/details/132259594