Нет обратного преобразования от java.time.format.DateTimeFormatter
к старому классу форматирования.
Новые классы java.time предназначены для замены старых. Они не предназначены для смешивания или взаимодействия. Старые классы времени-времени оказались плохо спроектированными, запутанными и сложными.
Идите вперед, а не назад
старых классов даты и время в комплект с самыми ранними версиями Java теперь устаревшие. Следует избегать таких классов, как java.util.Date/.Calendar и java.text.DateFormat/.SimpleDateFormat.
Эти старые классы были вытеснены инфраструктурой java.time, встроенной в Java 8 и более поздние версии. Большая часть этой функциональности была перенесена на Java 6 & 7 в проекте ThreeTen-Backport и дополнительно адаптирована для Android в проекте ThreeTenABP.
Вместо этого перейдите вперед. Преобразуйте старые объекты даты и времени в современные классы java.time. Новые методы были добавлены в старые классы для облегчения преобразования ваших данных.
Если у вас есть java.util.Date, звоните toInstant()
. Если у вас есть объект java.util.Calendar, конвертируйте его в ZonedDateTime
.
Для получения более подробной информации см. my Question и my Answer with nifty diagram of types.
Для чего нужен метод DateFormat? Возможно, вам нужно найти подходящий метод, параметром которого является DateTimeFormatter? –
вы можете преобразовать DateTimeFormatter в java.text.Format с: java.text.Format oldformat = dateTimeFormatter.toFormat(); – Ben
@ben Можете ли вы предоставить ссылку на класс doc? Я не вижу такого метода ни для DateFormat, ни для SimpleDateFormat. –