Форматирование дат в Гибралтаре: ожидаемый GB-подобный формат, в то время как американский. - PullRequest
4 голосов
/ 12 июня 2019

с Йодой:

Locale locale = new Locale("en", "GI"); // Gibraltar
DateTimeFormatter formatter = DateTimeFormat.shortDate().withLocale(locale);
DateTime date = new DateTime(2019, 6, 20, 9, 30); // 20 June 2019
String formatted = date.toString(formatter);

С Java8:

Locale locale = new Locale("en", "GI"); // Gibraltar
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(locale);
LocalDateTime date = LocalDateTime.of(2019, 6, 20, 9, 30); // 20 June 2019
String formatted = formatter.format(date);

В обоих случаях formatted равен 6/20/19, в то время как я ожидал 20/06/19, учитывая, что Википедия утверждает, что Гибралтарский формат даты - дд / мм / гггг .

Есть идея исправить (отличается от "если GI, затем ГБ")?

Примечание: при использовании new Locale("en", "GB") вы получите ожидаемый результат.

...