Как использовать формат времени и даты, указанный в настройках Android? - PullRequest
2 голосов
/ 13 июня 2011

Я хотел бы использовать форматы даты и времени, указанные в настройках Android «Дата и время».Есть ли простой способ получить доступ к этому?Я посмотрел в классе «Настройки», но не существует константы, которая, кажется, имеет какое-либо отношение к этим настройкам.Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

7 голосов
/ 13 июня 2011

Использование DateUtils.formatDateTime()

5 голосов
/ 13 июня 2011

Вы можете получить конкретные экземпляры Format, указанные пользователем, с помощью класса android.text.format.DateFormat .С ними вы просто делаете обычное форматирование даты в стиле Java.

К сожалению, нет формата даты и времени, поэтому вам придется создавать его самостоятельно.Или вы можете использовать DateUtils.formatDateTime(), как указал Стив.

0 голосов
/ 13 июня 2011

Вот способ, который, вероятно, более изощренный, чем сканирование подходящих битов во всем примере приложения. Это из моего кода, где мне нужна строка даты в формате локали без поля ERA:

final Date d = new Date();                

DateFormat dateFormat = null;
try {
    dateFormat = DateFormat.getDateInstance(DateFormat.FULL, <context>.getApplication().getLocale());
} catch (NullPointerException npe) {
    dateFormat = DateFormat.getDateInstance(DateFormat.FULL); // Default locale?  Users reported NPEs in the above checked code.
}
StringBuffer formattedDateBuf = new StringBuffer();
FieldPosition eraPos = new FieldPosition(DateFormat.ERA_FIELD);        
StringBuffer formattedDate = dateFormat.format(d, formattedDateBuf, eraPos);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...