En utilisant la bibliothèque ThreeTen Android Backport , quel est le moyen le plus simple de convertir un ZonedDateTime
ou OffsetDateTime
en une ancienne école Java.util.Date
Instance?
Si j'avais à disposition Java 8 libs à ma disposition, ce serait bien sûr la façon de le faire ( comme dans cette question ):
Date.from(zonedDateTime.toInstant());
Mais je ne peux pas l'utiliser sur Android; spécifiquement Date.from(Instant instant)
est manquant.
Voir DateTimeUtils
qui gère les méthodes ajoutées aux classes comme Java.util.Date
: http://www.threeten.org/threetenbp/apidocs/org/threeten/bp/DateTimeUtils.html
Modifier: en utilisant cela, le code complet serait:
DateTimeUtils.toDate(zonedDateTime.toInstant())
Eh bien, une façon simple est d'obtenir des millisecondes depuis Epoch et de créer la date à partir de cela:
long epochMilli = zonedDateTime.toInstant().toEpochMilli();
Date date = new Date(epochMilli);
N'hésitez pas à indiquer s'il existe un moyen préférable.