2016-05-24 2 views
2

Как преобразовать DateTimeFormatter в DateFormat? Я хочу отличить DateTimeFormatter to DateFormat? Является ли это возможным ?DateTimeFormatter to DateFormat conversion

У меня есть объект DateTimeFormatter, и я хочу передать его методу, параметр которого принимает только DateFormat.

+0

Для чего нужен метод DateFormat? Возможно, вам нужно найти подходящий метод, параметром которого является DateTimeFormatter? –

+0

вы можете преобразовать DateTimeFormatter в java.text.Format с: java.text.Format oldformat = dateTimeFormatter.toFormat(); – Ben

+0

@ben Можете ли вы предоставить ссылку на класс doc? Я не вижу такого метода ни для DateFormat, ни для SimpleDateFormat. –

ответ

3

Нет обратного преобразования от 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.

+1

Да, но что делать, когда вы используете API (jackson-databind), используя 'DateFormat', например, в этом вопросе: http://stackoverflow.com/questions/39955104/using-datetimeformatter-with-objectmapper –