2013-05-29 162 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