22

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

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

Date.from(zonedDateTime.toInstant());

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

4

2 回答 2

39

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

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

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

于 2017-01-05T09:00:52.073 回答
18

查看DateTimeUtils哪些处理添加到类的方法,例如java.util.Datehttp ://www.threeten.org/threetenbp/apidocs/org/threeten/bp/DateTimeUtils.html

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

DateTimeUtils.toDate(zonedDateTime.toInstant())
于 2017-01-05T17:43:44.293 回答