2013-05-29 2 views
0

Это супер странно.Joda DateTimeFormatter, дающий смесь языков

Я использую Joda времени DateTimeFormatter, давая этот формат

EEE MMM d, yyyy h:mm a 'UTC'ZZ 

и это печать

mié may 29, 2013 5:15 PM UTC-06:00 

который, кажется, смесь испанского и английского языков.

formatLocalDateTime(DateTimeFormat.forPattern("EEE MMM d, yyyy h:mm a 'UTC'ZZ"), dateTime) 



public static String formatLocalDateTime(final DateTimeFormatter formatter, final DateTime dateTime) { 
    if (dateTime == null) { 
     return ""; 
    } 
    DateTimeFormatter f = formatter.withLocale(LocaleUtils.toLocale("es_US")); 
    f = f.withZone(getTimeZone()); 

    return f.print(dateTime); 
} 

Я полностью потерян. Есть идеи? Благодаря!

ответ

2

Это ваш Locale - вы получаете правильное форматирование для «es_US» - смотри, например, http://www.localeplanet.com/icu/es-US/

Если вы ждете, американский английский, использовать «en_US» Если то, что вы хотите, испанский (Испания) используйте «es_ES»

список локалей в http://www.oracle.com/technetwork/java/javase/locales-137662.html

Edit - То, что вы видите, являются «короткие» День недели и месяц года. Если вы хотите, чтобы 'длинные' версии, которые и на испанском языке в es_US, используйте формат

"EEEE MMMM d, yyyy h:mm a 'UTC'ZZ" 

, который позволит получить

Миркулы Мейо 29, 2013 5:15 вечера UTC-06: 00

+0

спасибо! – iank

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