лучше эквивалентно должна быть этой константой в пакете java.time.format
, который предпочитает разобранное смещение в соответствии с документацией (например, поведение при Joda-withOffsetParsed() используется):
DateTimeFormatter.ISO_OFFSET_DATE_TIME
Однако, Есть еще небольшие отличия. Десятичный разделитель должен быть точкой в Java-8 (запятая не допускается, хотя и действительна и даже рекомендована в документе ISO). Кроме того: Java-8 управляет наносекундной точностью в отличие от точности миллисекунд Jodas. И, возможно, самое важное различие: если на вашем входе отсутствует смещение, то Java-8 генерирует исключение, но Joda not (и применяет часовой пояс по умолчанию).
О выборе типа: Поскольку вы работаете с DateTime
и фиксированными смещениями, лучший эквивалент должен быть здесь OffsetDateTime
в Java-8. Пример миграции:
DateTime dt = ISODateTimeFormat.dateTimeParser().withOffsetParsed().parseDateTime(input);
=>
OffsetDateTime odt = OffsetDateTime.parse(input, DateTimeFormatter.ISO_OFFSET_DATE_TIME);