LocalDate与Date相互转换

本文详细介绍了如何在Java中将LocalDate转换为Date类型,以及反向操作的具体步骤。包括定义格式、字符串到LocalDate的解析、时间地区ID的获取、转换为当地时间、最终转为Date类型的过程。同时也讲解了从Date类型转换回LocalDate的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值