2012-06-19 4 views
0

Мне нужно преобразовать Joda-TimeDateTime в строку, в следующем формате:Joda времени DateTimeFormatter: получить правильный вывод

Сб, 1 Jan 2011 00:00:00

Я использую этот код:

DateTimeFormatter f = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss"); 
f.withLocale(Locale.US); 
System.out.println(DateTime.now().toString(f)); 

Мой выход, однако:

wo, 20 июня. 2012 00:03:31

Так что проблемы:

  • Выход на голландском языке вместо английского языка ('горе' для 'замуж')
  • Месяц имеет период

Как я могу это сделать правильно?

+0

Если предварить название этого вопроса с "*** Joda ** DateTimeFormatter ... *". – mre

+1

Выполнено :) Спасибо. – nhaarman

ответ

1

DateTimeFormatter.withLocale возвращает новый DateTimeFormatter. Так что вам нужно сделать, это:

f = f.withLocale(Locale.US); 

В качестве альтернативы (что то же самое):

DateTimeFormatter f = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss").withLocale(Locale.US); 
+0

Doh, всегда что-то простое .. Спасибо! Это сразу же снимает период :) – nhaarman

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