0

这太奇怪了。

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

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

4

1 回答 1

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"

这将产生

微蛋蛋黄酱 2013 年 29 月 5:15 PM UTC-06:00

于 2013-05-30T02:07:13.610 回答