使用ThreeTenABP时如何从Date转换为LocalDate?

How to convert from Date to LocalDate when using ThreeTenABP?

提问人:Alex Florescu 提问时间:7/16/2015 最后编辑:CommunityAlex Florescu 更新时间:10/6/2015 访问量:5992

问:

注意:这在 JDK 世界中已经得到了很好的回答,但公认的答案不适用于 JSR-310 的 Android 端口,它没有 Date 的扩展 API。

那么,将 a 转换为 的最佳方法是什么?java.util.Dateorg.threeten.bp.LocalDate

Date input = new Date();
LocalDate date = ???
Java Android ThreeTenBP

评论


答:

23赞 Alex Florescu 7/16/2015 #1

这应该可以做到(受 https://stackoverflow.com/a/27378709/286419 启发)。

Date dateJavaFormat = new Date();
LocalDate dateThreeTenFormat = Instant.ofEpochMilli(dateJavaFormat.getTime()).atZone(ZoneId.systemDefault()).toLocalDate();

评论

2赞 ror 7/24/2020
谢谢。Android 上的日期复杂性一直令人费解。