Как отформатировать LocalDate в стандартный формат для местоположения пользователя?
Как я могу отформатировать LocalDate
на основе стандарта местоположения пользователя. Я хочу, чтобы люди в США увидели "28.06.2008", а люди в Европе увидели "28.06.2008", а люди в Китае увидели "2018/6/28".
Нужно ли использовать DateTimeFormatter formatter = ...
или мне нужно будет использовать что-то еще?
Мне также нужно будет преобразовать строку в LocalDate
на основе стандартов местоположения пользователя.
1 ответ
Решение
Один из способов сделать это использовать DateTimeFormatter.ofLocalizedDate()
фабричный метод, который возвращает специфичный для локали формат даты для хронологии ISO.
DateTimeFormatter fmt = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
LocalDate now = LocalDate.now(); // 2018-10-05
String txt = fmt.format(now); // Friday, 5 October 2018
LocalDate d = LocalDate.parse(txt, fmt); // 2018-10-05