как конвертировать дату с 31 августа по 18 августа 2008 года в Java - PullRequest
0 голосов
/ 24 октября 2018

В качестве входных данных я получаю дату в формате 31 августа 2018 года.Я хотел бы преобразовать его в AUGUST31,2018, используя Java

1 Ответ

0 голосов
/ 24 октября 2018

Синтаксический анализ текста.

DateTimeFormatter inputFormatter = 
        new DateTimeFormatterBuilder()
        .parseCaseInsensitive()
        .appendPattern("dd-MMM-uuuu")
        .toFormatter(Locale.ENGLISH)
;

DateTimeFormatter outputformatter =
        DateTimeFormatter.ofPattern("MMMMdd,uuuu", Locale.ENGLISH)
;

String input = "31-AUG-2018";
LocalDate date = LocalDate.parse(input, inputFormatter);

Создание текста.

String output = date.format(outputformatter).toUpperCase(Locale.ENGLISH);

System.out.println("Converted to: " + output);

Этот фрагмент выводит:

Преобразовано в: AUGUST31,2018

Все заглушки на входе и выходе требуют особой обработки.Для ввода я использую DateTimeFormatterBuilder и его parseCaseInsensitive метод.Это дает средство форматирования, которое будет анализировать аббревиатуру месяца в верхнем или нижнем регистре или любое их сочетание.Для вывода я не нашел лучшего варианта, чем вызвать toUpperCase для результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...