2013-05-29 115 views
0

這是超級怪異的。Joda DateTimeFormatter混合語言

我使用約達時間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

這是你的語言環境 - 你得到正確的格式爲「es_US」 - 見,例如,http://www.localeplanet.com/icu/es-US/

如果你期待美國英語,用「EN_US」 如果你想要的是西班牙語(西班牙)使用「es_ES」

地區的清單是http://www.oracle.com/technetwork/java/javase/locales-137662.html

編輯 - 你們看到的是周的「短」日和月年。 如果你想在 '長' 版本,這在es_US都在西班牙,使用格式

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

這將產生

miércoles梅奧29,2013 5:15 PM UTC-06: 00

+0

非常感謝! – iank