这太奇怪了。
我正在使用Joda Time 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);
}
我完全迷失了。有任何想法吗?谢谢!
答案 0 :(得分: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ércolesmayo 29,2013 UTC 5:15 PM UTC-06:00