web-dev-qa-db-ja.com

ThreeTenABPを使用してZonedDateTime / OffsetDateTimeを日付に変換する方法は?

ThreeTen Android Backport ライブラリを使用して、ZonedDateTimeまたはOffsetDateTimeを古い学校のJava.util.Dateに変換する最も簡単な方法は何ですかインスタンス?

完全なJava 8ライブラリを自由に使用できる場合、これはもちろんそれを行う方法です( この質問のように ):

Date.from(zonedDateTime.toInstant());

ただし、Androidでは使用できません。具体的には Date.from(Instant instant) がありません。

13
Jonik

Java.util.Dateなどのクラスに追加されたメソッドを処理するDateTimeUtilsを参照してください。 http://www.threeten.org/threetenbp/apidocs/org/threeten/bp/DateTimeUtils.html =

編集:それを使用して、完全なコードは次のようになります:

DateTimeUtils.toDate(zonedDateTime.toInstant())
9
JodaStephen

さて、1つの簡単な方法は、エポックからミリ秒を取得し、そこから日付を作成することです:

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

望ましい方法があれば、お気軽にご指摘ください。

13
Jonik