DateTimeFormatter.ofLocalizedDate
аюсь написатьDateTimeFormatter
что позволит мне взять несколько разныхString
форматов, а затем преобразоватьString
форматирует до определенного типа. Из-за масштаба проекта и кода, который уже существует, я не могу использовать другой тип форматера.
Например, я хочу принятьMM/dd/yyyy
так же какyyyy-MM-dd'T'HH:mm:ss
но потом, когда я печатаю, я хочу печатать толькоMM/dd/yyyy
формат и иметь его в формате, когда я звонюLocalDate.format(formatter);
Может ли кто-то предложить идеи о том, как сделать это сjava.time.format.*;
Вот как я мог сделать это вorg.joda
:
// MM/dd/yyyy format
DateTimeFormatter monthDayYear = DateTimeFormat.forPattern("MM/dd/yyyy");
// array of parsers, with all possible input patterns
DateTimeParser[] parsers = {
// parser for MM/dd/yyyy format
monthDayYear.getParser(),
// parser for yyyy-MM-dd'T'HH:mm:ss format
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss").getParser()
};
DateTimeFormatter parser = new DateTimeFormatterBuilder()
// use the monthDayYear formatter for output (monthDayYear.getPrinter())
// and parsers array for input (parsers)
.append(monthDayYear.getPrinter(), parsers)
// create formatter (using UTC to avoid DST problems)
.toFormatter()
.withZone(DateTimeZone.UTC);
Я не нашел хороший / рабочий пример этого онлайн.