java - 使用 DateFormat 时,am/pm 字符串未本地化/翻译

标签 java android simpledateformat date-formatting

当我的应用程序加载时,我会获取设备的设置,以便根据用户的区域设置显示日期/时间。如下图所示,模式是正确的,但 am/pm 标记未翻译为相应的语言(在本例中语言为希腊语,本地为“el_GR”)。有办法解决吗?

"am/pm" should be automatically translated to "πμ/μμ"


public static final DateFormat USER_DF_TIME = DateFormat.getDateTimeInstance(DateFormat.SHORT,
        DateFormat.SHORT, Locale.getDefault());

enter image description here

最佳答案

经过进一步调查,我发现了 Java 6 的类似错误,"Swedish localization has incorrect am/pm markers" .这个bug早在2007年就被报告过,最终在2011年得到解决。

此外,根据 Oracle 官方页面 "The set of supported locales varies between different implementations of the Java Platform Standard Edition (Java SE)"

在各种设备上测试我的代码,我发现它在 android 4.1.2 和 4.4 上正常工作,但问题仍然存在于我的 android 4.1.1 设备上。鉴于old android's Java version is similar to Java 6我推断这是一个 Java 语言问题,在新版本中已解决。

关于java - 使用 DateFormat 时,am/pm 字符串未本地化/翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685129/

相关文章:

java - 如何从现有的 ORACLE 序列中为实体生成 ID?

java - 如何在Thymeleaf中提交二维数组?

android - 如何在右侧显示android复选框?

android - SimpleDateFormat.parse 根据 Android 版本导致非常不同的值

java - 某些设备中的 SimpleDateFormat ParseException

java - Android后台服务导致大量崩溃

java - 无法使用 jquery Ajax 从 Java HttpServer 获得响应

android - 华为8.0 Renderscript加载RS驱动失败

android - 从 Qt Creator 附加到 Android 进程

java - SimpleDateFormat解析异常和替代方法差异