Мне нужно показать дату с 2-значным днем, 2-значным месяцем, 4-значным годом в соответствии с порядком местных жителей. Итак, для April 10th 2020
я хочу показать
- для локали США:
MM/DD/YYYY
->04/10/2020
- для Великобритании:
DD/MM/YYYY
->10/04/2020
- для локали DE (Германия):
DD.MM.YYYY
->10.04.2020
Я безуспешно пробовал следующее:
// this one already fails for DE, because it gives 10.04.20 (only 2 digit years)
myDate?.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT))
// works for DE (gives 10.04.2020), fails for UK as is gives 10 Apr 2020 instead of 10/04/2020
myDate?.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM))
Итак, как я могу получить локально адаптированный формат даты только с 2-значным днем / месяцем и 4-значным годом? Обратите внимание, что я ищу общее решение, 3 явно указанные здесь локали являются лишь примерами.
На самом деле я использую java.time
порт для Android (ThreeTenABP
), хотя это не должно иметь значения.