Как разобрать ISO-совместимую строку в Date, используя библиотеку Java Time

0
задан Ole V.V. 6 April 2019 в 07:14
поделиться

1 ответ

java.time

Это уже освещалось бесчисленное количество раз. Так что поиск переполнения стека для получения дополнительной информации.

Никогда не используйте Date или Calendar. Используйте только java.time . Аналогично, Joda-Time также вытесняется java.time (оба возглавляются одним и тем же человеком, Стивеном Коулборном).

Оба ваших строковых ввода имеют стандартный формат ISO 8601. Классы java.time по умолчанию используют эти форматы при разборе / генерации строк.

В первом отсутствует индикатор смещения от UTC или часового пояса, поэтому не представляет момент.

LocalDateTime.parse( "2018-07-21T00:50:39" )

Второй в Z, что означает UTC, и произносится как «Зулу».

Instant.parse( "2017-11-20T23:18:27.529Z" )

Чтобы обработать оба формата в одном методе, найдите во входной строке наличие Z и ответвления соответственно. Кроме того, ловушка для исключения в случае, если вы получаете неожиданные входные данные

Если у вас должен быть объект java.util.Date, посмотрите этот класс JavaDoc для новых методов from & amp; to… на старых классах, которые конвертируют в / из java.time классов. Как я уже сказал, все это было освещено много раз, поэтому ищите больше информации.

0
ответ дан Basil Bourque 6 April 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: