Joda DateTimeFormatter提供混合语言

时间:2013-05-29 23:19:56

标签: java time jodatime

这太奇怪了。

我正在使用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);
}

我完全迷失了。有任何想法吗?谢谢!

1 个答案:

答案 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

相关问题