некоторые опции форматирования DateFormat AM / PM не работают на AVD для API уровня 8 - PullRequest
0 голосов
/ 11 мая 2011

android.text.format.DateFormat указывает, что использование строки формата «a» должно давать «a» или «p», а «aa» - «am» или «pm». Однако на моем AVD использование «a», «A» или «AA» дает «am» или «pm», что не соответствует онлайновой документации.

final long currentTimeMillis = System.currentTimeMillis();

Log.i("DateFormat", "a: " + (String) DateFormat.format("a", currentTimeMillis));
Log.i("DateFormat", "aa: " + (String) DateFormat.format("aa", currentTimeMillis));
Log.i("DateFormat", "A: " + (String) DateFormat.format("A", currentTimeMillis));
Log.i("DateFormat", "AA: " + (String) DateFormat.format("AA", currentTimeMillis));

Поскольку DateFormat был доступен с уровня API 3, я сталкиваюсь с регрессом или в моей среде разработки что-то не так? (Я новичок в Android, поэтому у меня пока нет большого опыта работы с этой платформой). AVD настроен для API уровня 8, и я использую Eclipse.

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Попробуйте использовать SimpleDateFormat, как описано в Android Developer

SimpleDateFormat sdf = new SimpleDateFormat("a hh-mm-ss");
date = new Date();
sDate = sdf.format(date);
0 голосов
/ 22 мая 2011

Наконец-то дошли руки до просмотра исходного кода, и, насколько я могу судить, эти параметры форматирования никогда не были реализованы правильно.Извлекаются только 2 возможные локализованные строки, и они больше не обрабатываются, что я наблюдаю.

Я подал ошибку: http://code.google.com/p/android/issues/detail?id=16997

...