【问题标题】:Joda DateTimeFormatter giving a mixture of languagesJoda DateTimeFormatter 提供多种语言
【发布时间】:2023-03-16 22:49:02
【问题描述】:

这太奇怪了。

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

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

【问题讨论】:

    标签: java time jodatime


    【解决方案1】:

    这是您的区域设置 - 您正在获得“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 mayo 2013 年 29 月 5:15 PM UTC-06:00

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      相关资源
      最近更新 更多