繁体   English   中英

如何使用 ThreeTenABP 将 ZonedDateTime/OffsetDateTime 转换为日期?

[英]How to convert ZonedDateTime/OffsetDateTime to Date using ThreeTenABP?

使用ThreeTen Android Backport库,将ZonedDateTimeOffsetDateTime转换为老式java.util.Date实例的最简单方法是什么?

如果我有完整的 Java 8 库可供我使用,这当然是这样做的方法( 如在这个问题中):

Date.from(zonedDateTime.toInstant());

但我不能在 Android 上使用它; 特别是Date.from(Instant instant)缺失。

好吧,一种直接的方法是获取自纪元以来的毫秒数并从中创建日期:

long epochMilli = zonedDateTime.toInstant().toEpochMilli();
Date date = new Date(epochMilli);

如果有更好的方法,请随时指出。

请参阅DateTimeUtils它处理添加到java.util.Date等类的方法: http ://www.threeten.org/threetenbp/apidocs/org/threeten/bp/DateTimeUtils.html

编辑:使用它,完整的代码将是:

DateTimeUtils.toDate(zonedDateTime.toInstant())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM