2013-11-20 5 views

ответ

4

Попробуйте это:

DateTimeFormatter dtf = DateTimeFormat.forPattern("dd MMMM YYYY").withLocale(Locale.ENGLISH); 
DateTime dt = dtf.parseDateTime("25 December 1985"); 
System.out.println(dt.getDayOfWeek()); 
+0

Исключение из потока« main »java.lang.IllegalArgumentException: Недопустимый формат: «25 декабря 1985 года» имеет неправильный характер в «декабре 1985 года» – Alex

+0

+1 Я пробовал это, отлично работает и возвращается 3. – JamesB

+0

Какова ваша версия Joda lib? – Alex

1

Со ссылкой на http://joda-time.sourceforge.net/userguide.html

getDayOfWeek()

int iDoW = dt.getDayOfWeek(); 

, где iDoW может принимать значения (от класса 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; 

или DAYOFWEEK()

DateTime.Property pDoW = dt.dayOfWeek(); 
String strST = pDoW.getAsShortText(); // returns "Mon", "Tue", etc. 
String strT = pDoW.getAsText(); // returns "Monday", "Tuesday", etc. 
+0

Ok. Но как разбирать строку «25 декабря 1985 г. Мой пример не работает, он выдает exeption. – Alex

+1

А я вижу, вы никогда не говорили, что было исключено исключение. – JamesB

Смежные вопросы