LocalDate与Date相互转换

LocalDate转为Date:

//定义格式
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
//字符串格式转为LocalDate格式
LocalDateTime parse = LocalDateTime.parse("2018-10-18 10:00:00", dateTimeFormatter);
//获取时间地区ID
ZoneId zoneId = ZoneId.systemDefault();
//转换为当地时间
ZonedDateTime zonedDateTime = parse.atZone(zoneId);
//转为Date类型
Date from = Date.from(zonedDateTime.toInstant());

 

Date转为LocalDate;

//获取时间实例
Instant instant = Date类型数据.toInstant();
//获取时间地区ID 
ZoneId zoneId = ZoneId.systemDefault();
//转换为LocalDate 
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();

//获得LocalDateTime时间戳(东八区)
localDateTime .toEpochSecond(ZoneOffset.of("+8"));

使用LocalDate格式化时间的时候注意 LocalDate默认是年月日,缺一不可否会报,如下错误
 Text 'XXXX XX' could not be parsed: Unable to obtain LocalDate from TemporalAccessor: {xxx,xxx},ISO resolved to XXXX of type java.time.format.Parsed

 

你可能感兴趣的:(LocalDate与Date相互转换)