如何使用 ThreeTenABP 将 ZonedDateTime/OffsetDateTime 转换为日期?
How to convert ZonedDateTime/OffsetDateTime to Date using ThreeTenABP?
使用 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())
Date.from(zonedDateTime.toInstant())
使用 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())
Date.from(zonedDateTime.toInstant())