Установка входа с отдельным годом, месяцем и днем - PullRequest
0 голосов
/ 31 августа 2018

Я установил AlertDialog.builder, в котором есть вход, чтобы получить дату от пользователя. В настоящее время установлено следующее:

input.setInputType(InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_NORMAL);

То, что я хотел бы, это не просто целая строка, на которой пользователь должен писать. Я хотел бы такую ​​вещь, как
Вход: __ / __ / ____
Где пользователь должен завершить с
Ввод: 18/04/2018

А потом я получу целую строку: «18-04-2018»

Что я могу сделать?

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Вы можете разобрать строку в LocalDate, затем отформатировать в желаемый формат, или вы можете просто заменить / на -:

String input = "18/04/2018";
String outPut;

// first approach
LocalDate localDate = LocalDate.parse(input, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
outPut = localDate.format(DateTimeFormatter.ofPattern("dd-MM-yyyy"));

// second approach
outPut = input.replaceAll("/", "-");
0 голосов
/ 31 августа 2018

Вы должны использовать SimpleDateFormat, который изменит формат даты. посмотрите это

public static String changeDateToTimeStamp(String date){
        DateFormat inputFormat = new SimpleDateFormat("dd/mm/yyyy");
        DateFormat outputFormat = new SimpleDateFormat("dd-mm-yyyy");

        Date date1 = null;
        try {
            date1 = inputFormat.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
       return outputFormat.format(date1);
    }

этот метод возвращает дату типа "18-04-2018". Надеюсь, она вам поможет!

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