gpt4 book ai didi

java - 如何确定语言环境是否使用 AM/PM?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:43 25 4
gpt4 key购买 nike

我有一个标签只显示一天中某个小时的分钟部分。我希望它显示为“PM”或“00”,具体取决于时区。

我当前的解决方案只是使用 Joda 的 DateTimeFormat.shortTime().withLocale(myLocale) 并从结果中取出最后 2 个字符。这行得通,但感觉不对。

相反,我想检查给定的语言环境是否使用 AM/PM 表示法,但我还没有找到 API 调用来提供该信息。它是否存在于 JodaTime 或 Java 库本身中?例如,我想写类似 usesAmPm(myLocale)) 的东西? DateTimeFormat.forPattern("a") : DateTimeFormat.forPattern("mm")

最佳答案

如何检查给定语言环境是否使用 AM/PM 表示法的问题的答案:

有关此类本地化数据的唯一常见来源是来自 Unicode 联盟的 CLDR。 JDK 间接地加载了 CLDR 的一小部分,可以按如下方式访问:

public static boolean usesAmPm(Locale locale) {
DateFormat df = DateFormat.getTimeInstance(DateFormat.FULL, locale);
if (df instanceof SimpleDateFormat) {
return ((SimpleDateFormat) df).toPattern().contains("a");
} else {
return false; // unlikely to happen
}
}

关于java - 如何确定语言环境是否使用 AM/PM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20283622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com