Как я могу изменить java.util.Date на ISO String, используя ThreeTenABP

Я использую ThreeTenABP для преобразования даты и времени для Android. Мой вопрос, как я могу изменить java.util.Date в строку ISO (формат 2018-05-24T02:33:10.062Z) от ThreeTenABP?

2 ответа

Решение

ThreetenABP-решение может выглядеть так:

java.util.Date d = ...;
org.threeten.bp.Instant instant = org.threeten.bp.DateTimeUtils.toInstant(d);
String iso = instant.toString();

Если вы хотите больше контроля над форматированием, вы можете преобразовать момент в ZonedDateTime (или лучше для OffsetDateTime) и использовать выделенный DateTimeFormatter,

Я не знаю про андроид, но если java.text.SimpleDateFormat доступно, что вы можете сделать:

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(new Date())

Выражение:

new Date().toInstant().toString()

приводит к

2019-12-31T06:32:37.997Z
Другие вопросы по тегам