2013-11-27 4 views
0

Почему следующее выдаст сообщение об ошибке:Синтаксический дата с SimpleDateFormat

DateFormat formatter1 = new SimpleDateFormat("E, MMM d"); 
    formatter1.setTimeZone(TimeZone.getTimeZone("America/New_York")); 

    formatter1.parse("Tue, Nov 26"); 

Я не понимаю, почему он не работает.

+1

Какую ошибку вы получаете? Потому что это нормально для меня ... Как говорит ZouZou, возможно, это из-за вашей системы? –

+0

@JonSkeet: Это был мой системный язык. Забыл об этом. Спасибо за ваше время :) –

+1

В следующий раз, когда вы зададите вопрос, убедитесь, что вы предоставили всю необходимую информацию - если вы получаете исключение, сообщите нам, что такое исключение, и т. Д. –

ответ

4

Вы должны установить Locale к вашему форматировщику где месяцы полбы на английском языке, в противном случае он использует свой умолчанию Locale:

SimpleDateFormat(String pattern) 

Constructs a SimpleDateFormat using the given pattern and the default date format symbols for the default locale.

т.е:

DateFormat formatter1 = new SimpleDateFormat("E, MMM d", Locale.US); 
+0

Это было безумно быстро. Работал как шарм. Я соглашусь, когда это возможно. Благодарю. –

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