Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Codename One - использование L10NManager вместо DateFormat (устарело) для получения текущего формата даты и времени локали

Автор вопроса: P5musicОтветов: 1

Приложение My CodenameOne (порт iOS для приложения Android) показывает пользователю пример формата даты и времени в соответствии с Locale.

Это код Java в моем приложении для Android:

static String getTheCurrentLocaleDateTimeFormatString() {
    return ((SimpleDateFormat) DateFormat.getDateTimeInstance()).toLocalizedPattern();
}

Например, в моем Locale я получаю эту строку:

dd MMM y HH:mm:ss

Никаких изменений в дизайне приложения сделать нельзя.

Документация здесь: https://www.codenameone.com/javadoc/java/text/DateFormat.html

говорит, что DateFormat устарел и имеет проблемы на некоторых платформах, таких как сама iOS. Он используется только для этого, я кстати оставил его в своем приложении для Android.

Однако я не могу использовать его методы, потому что они не совпадают в CodenameOne, если я не ошибаюсь.

В документации говорится, что вместо этого нужно использовать L10NManager, но мне нужно изменить код.

Как правильно использовать L10NManager для достижения той же цели?

javadate-formatlocalecodenameone

Ответы

Ответ 1 · Shai Almog

Вы можете использовать L10NManager следующим образом:

String t = L10NManager.getInstance().formatDateTime(date);

Мы тоже поддерживаем SimpleDateFormat, но он немного более ограничен. У нас есть его версия в com.codename1.l10n, которая более согласованно работает на разных платформах.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы