2011-02-09 3 views
1

Очень простая задача. Я хочу переформатировать временную метку, отправленную мне из службы в формате Wed, 26 Jan 2011 22:27:09 +0000.Как я могу разобрать стандартную временную метку в Java?

String format = "EEEE; MMMM d, yyyy"; 
String timestamp = "Wed, 26 Jan 2011 22:27:09 +0000"; 
Date date = new SimpleDateFormat(format).parse(timestamp); 
Log.d("Test", date.toString()); 

Я не смог найти какие форматы .parse() метод позволит, но это один бросает ParseException.

ответ

5

Вы пробовали:

String format = "EEE, dd MMM yyyy HH:mm:ss Z"; 

Когда я использую что format разобрать тестовую строку, я получаю (в Central Time):

Wed Jan 26 16:27:09 CST 2011 
+0

Похоже он не был счастлив о " ;» в моем формате. Слишком много PHP для меня, я думаю. Любая идея, как избежать этого в строковом литерале, чтобы я мог иметь «вторник, январь»? – typeoneerror

+0

О, хорошо. Я тупой. Я думал, что parse() будет анализировать любую строку, основанную на дате, в формате, который мне нужен, а не в том, что нужно * использовать * этот формат. Я думал, что это похоже на strtotime php(). Благодаря! – typeoneerror

+1

@typeonerror - Попробуйте окружить ';' одиночными кавычками, это типичный способ избежать неформатных символов. Чтобы иметь «вторник, январь», попробуйте «EEEE»; MMMM' –

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