Как я могу получить имена дней недели в JodaTime

152
10

У меня возникла проблема в том, чтобы рассчитать полный список дней недели, используя JodaTime.
Пратически, я хотел бы видеть аналогичный вывод, основанный на Locale:


1 day: Sunday 
2 day: Monday
3 day: Tuesday
4 day: Wednesday
5 day: Thursday
6 day: Friday
7 day: Saturday

Как я могу это сделать? Я новичок в библиотеках JodaTime...


Спасибо!

спросил(а) 2014-06-19T22:48:00+04:00 6 лет назад
1
Решение
172

Похоже, работа для DateTimeFormat

Я бы начал с

 DateTime dt = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("EEEE"); // use 'E' for short abbreviation (Mon, Tues, etc)
String strEnglish = fmt.print(dt);
String strFrench = fmt.withLocale(Locale.FRENCH).print(dt);
String strWhereverUR = fmt.withLocale(Locale.getDefault()).print(dt);

и идти оттуда

ответил(а) 2014-06-19T23:01:00+04:00 6 лет назад
156

От Joda-Time UserGuide:

Например, прямой способ получить день недели для определенного DateTime, включает в себя вызов метода

int iDoW = dt.getDayOfWeek();

where iDoW can take the values (from class DateTimeConstants).

public static final int MONDAY = 1;
public static final int TUESDAY = 2;
public static final int WEDNESDAY = 3;
public static final int THURSDAY = 4;
public static final int FRIDAY = 5;
public static final int SATURDAY = 6;
public static final int SUNDAY = 7;

...
Localized versions of these methods are also available, thus
DateTime.Property pDoW = dt.dayOfWeek();
String strTF = pDoW.getAsText(Locale.FRENCH); // returns "Lundi", etc.

РЕДАКТИРОВАТЬ, если используется язык по умолчанию

DateTime.Property pDoW = dt.dayOfWeek();
String strTF = pDoW.getAsText(Locale.getDefault());

ответил(а) 2014-06-19T23:03:00+04:00 6 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема