Как я могу изменить 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