Мне нужно вернуть арабское / французское название месяца из объекта Date - PullRequest
2 голосов
/ 19 декабря 2010

Я работаю над приложением, и мне нужно вернуть арабское / французское название месяца и название дня, в зависимости от того, какой местный регион я использую.Например, если местным является «Ar», мне нужен месяц theبراير для февраля.Если local - "Fr", то название месяца должно быть Février.В настоящее время я работаю над этим и читаю названия месяцев и дней из разных файлов .properties.Теперь мой вопрос: есть ли способ вернуть названия месяцев и дней на разных языках в зависимости от данного местного?

Ваша помощь очень ценится:)

Ответы [ 3 ]

7 голосов
/ 19 декабря 2010

вам не нужно обойти это.Используйте SimpleDateFormat(format, locale).Вот пример кода:

    SimpleDateFormat fen = new SimpleDateFormat("dd/MMMM/yyyy", new Locale("en"));
    SimpleDateFormat ffr = new SimpleDateFormat("dd/MMMM/yyyy", new Locale("fr"));

    Date date = new Date();

    System.out.println(fen.format(date));
    System.out.println(ffr.format(date));
4 голосов
/ 19 декабря 2010

Formatter - самый гибкий вариант. Существуют удобные методы, такие как String.format () и printf (), которые тоже используют Formatter.

Date d = new Date();

Locale saudi = new Locale("ar","SA");

Formatter formatter = new Formatter(System.out,Locale.FRENCH);
formatter.format("month: %tB\n", d);
System.out.printf(saudi, "month: %tB\n", d);

месяц: декабрь
месяц: ديسمبر

2 голосов
/ 19 декабря 2010

Использовать getMonths и getWeekdays методы DateFormatSymbols класс

String getMonthName(int month, Locale locale) {
    return DateFormatSymbols.getInstance(locale).getMonths()[month];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...