使用 ThreeTen Android Backport 库,将ZonedDateTime
或OffsetDateTime
转换为老式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())