Dart / Flutter формат даты по умолчанию - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь отформатировать DateTime результат и отобразить его пользователю в текущей локали устройства пользователя.

В настоящее время я могу отображать либо весь DateTime, например:

2018-10-08 16: 08: 37.464112

Или указав точный формат, подобный этому:

DateFormat("dd.MM.yyyy").format(DateTime.now())

, что приводит к следующему:

08.10.2018

Моя проблема с этим решением заключается в том, что этот формат может быть приемлем в ЕС;например, в США (и многих других странах) они используются в другом формате даты, например,

10/08/2018

Мой вопрос : как вернуть пользователю только дату (не время) в формате их текущей локали?

Ответ :
Необходимо получить текущий языковой стандарт и передать его в функцию форматирования.Я использую класс пользовательских локализаций, но с готовым решением это будет выглядеть так:

DateFormat.yMMMd(Localizations.localeOf(context)).format(result);

1 Ответ

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

Вы можете передать языковой стандарт DateFormat как

format = DateFormat.yMMMd("en_US");

См. Также

...